在修改一個別人的bug的時候發現一個問題, 記錄一下, vue前端頁面在刷新頁面後只讀頁面可以編輯了
在前一個傳值頁面他的寫法是
this.$router.push({ name:'xxx', query:{ isEdit:false } });
在接收的時候寫的是
this.isEdit = this.$route.query.isEdit ? true : false;
this.$router.push在傳值的時候有兩種方式,分別爲如下,
1. 其中 name和params搭配, 參數在url上不顯示, 值的類型是object, 支持json, 但是頁面刷新後值就沒有了
2. path和query搭配, 參數在url上顯示, 值的類型都是string, 不能使用bool等類型, 頁面刷新後還有
3. path不能和param搭配使用, 使用後參數無法讀取
4. name和query也最好不要使用, 使用後參數可以獲取到, 但是第一次爲object類型, 刷新後變爲string
上訴bug就是這種情況, 頁面刷新後false由bool類型變爲了string, 永遠爲true
//方式1 this.$router.push({ name:'xxx', params:{ isEdit:false } }); //取值 this.$route.params.isEdit //方式2 this.$router.push({ path:'xxx', query:{ isEdit:false } }); //取值 this.$route.query.isEdit