易車三期的項目中,左側導航,右側表格的布局。
點擊表格行,跳轉到另一個路由模塊,等於說左側導航不變,右側內容變化,就是路由發生了變化。
一開始我用的是不同的.vue文件之間傳值的方法,就是定義一個公共的Bus.js文件,用來充當中間的橋梁,利用 $emit 發送數據,$on 接收數據。調用接口的函數getData定義在methods中,調用函數 getData()定義在created中。而且 getData()函數的調用是在 $on 接收到數據之后的回調函數里面,接口獲取到數據然后給 data 中的數據賦值,頁面不刷新。
此問題卡了好幾個小時。不管用什么方法,Vue.set( ),push改變數據,還是強制刷新,,都不行。
最后沒有用 Bus.js 充當中間橋梁,用的是路由之間的傳值。 getData()的調用不在 $on 的回調函數里面。直接賦值給data里面的數據,竟然生效了。
暫時不知道是什么原因,以此記錄一下。