js(vue axios) 异步get线上json文件数据,拿到已知嵌套对象缺无法直接取属性值
// 把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)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试
按照官方文档的写法的话,你这个其实可以这么写