// 把url生成key
getNetworkText(url) {
let d = url.split('.')
let x = d[2].split('/').pop()
return x
},
// get请求json内容到 this.getNetworkData
getNetwork(url) {
let lastText = this.getNetworkText(url)
// debugger
let requestParams = {}
const successCallBack = (res) => {
this.getNetworkData[lastText] = {
nodes: res.nodes,
edges: res.edges
}
res
if (res && res.code === 1) {
}
}
const errCallBack = (res) => {}
this.$get(url, requestParams, successCallBack, errCallBack)
},
// 疑问如下=============================
this.getNetwork(res.data.Network.network_json)
// 执行以上函数取到json数据了 下行已经打印
console.log(this.getNetworkData)
let a = this.getNetworkText(res.data.Network.network_json)
// 但是直接取里面的属性 值 就会报错undefined
// 延时2秒就好了 猜测应该是这里同步执行的缘故
// 请问一下有更好的办法吗 已经尝试this.$nextTick不行
setTimeout(() => {
this.Network.nodes = this.getNetworkData[a].nodes
this.Network.edges = this.getNetworkData[a].edges
}, 2000)
试试
按照官方文档的写法的话,你这个其实可以这么写