記項目中易出現的bug點
阿新 • • 發佈:2019-03-18
form earch let 參數傳遞 操作 鉤子 一次 初始化 sta
1. 彈框組件,初始化數據的方法寫在created 中
bug 點:created 鉤子函數只在頁面第一次加載時執行,第二次加載則不會執行,初始化數據無法更新。
示例:頁面不刷新的情況下,彈框組件第二次打開時,detail 是不會變化的
created () { this.getDetail() }, methods: { getDetail () { this.$http(‘post‘, `/api/${this.id}`) .then((res) => { if (res.statusCode === 200) { let result = res.data this.alarmDescription = Object.assign(this.alarmDescription, result.alarmDescription) this.alarmContentType = result.alarmContentType } }) .catch((e) => { console.log(e) }) },
解決辦法: watch 一下id 的變化,同時要在關閉彈框的回調事件中改變一下id, 這樣避免連續打開同一條記錄(id不變)時,也刷新數據。
watch: { id: function (val) { if (this.id) { this.getDetail() } } },
2. form 表單,要有清空操作
3. try catch 無法抓取異步方法中的錯誤
4. 雙向綁定復雜對象,當參數傳遞前要 JSON.parse(JSON.stringify(this.searchForm)),避免參數對象中的數據隨頁面發生變化。
記項目中易出現的bug點