接受的数据可以多层嵌套,但是当你调用的时候可能会出现问题,这不是因为数据本身的问题,是你调用的时机的问题。
data () {
return {
data: '' // 你在data中定义了data
}
}
created () {
var self = this
getJSON(){
.....
self.data = Data // Data是接受的json数据
}
}
当你的页面中的v-for渲染的时候,created的数据肯定是还没获取到的,如果你的json是只嵌套一层,因为data你已经定义好了,所以data.a不会出现data undefined的错误,只是找不到data.a的数据,当你异步请求完之后,会自动更新。但是如果你的json是嵌套两层,比如data.a.b,那么当你调用data.a.b的时候,因为data.a还没有定义,所以就会报错说Cannot read property 'b' of undefined。
如果你要避免这个,就在v-for的div外再嵌套一层
如果你切换路由后页面不显示了,你可以看看你是否获取到了数据,应该是没有获取到数据造成的。安装个dev devtools插件可以看vue的一些数据。