1、項目報錯如下:

2、先訪問別的路由,在訪問這個頁面的路由這樣不報錯,但是我直接在這個頁面上刷新就報錯
3、分析解決:
1)找到我的length出現的地方,說出錯說明現在info里面是空的

2)先進入其他路由---在進入當前路由---------此時我的info已經拿到了,vuex里面存的不是空對象了, 這種方式不會報錯
3)直接在這個頁面刷,當前路由對象就會創建,第一次顯示的時候vuex里面是空的,所以會報錯。
4、
用戶可能從兩個地方訪問這個路由組件,下面是考慮兩種方式進來的代碼
mounted(){ //方式一:從別的路由組件切換過來走這里
new BScroll('.shop-info')
if(!this.info.pics)
return
new BScroll('.pic-wrapper',{
scrollX:true
})
const liWidth = 120;
const space = 6;
const objUl = this.$refs.picsUl;
objUl.style.width = (liWidth + space)*this.info.pics.length - space + 'px'
},
//方式二:用watch監視到當前vuex里面的info有數據了才執行后面的
watch:{ //在當前組件刷新
info(){
this.$nextTick(()=>{
new BScroll('.pic-wrapper',{
scrollX:true
})
const liWidth = 120;
const space = 6;
const objUl = this.$refs.picsUl;
objUl.style.width = (liWidth + space)*this.info.pics.length - space + 'px'
})
}
}
