可以用 beforeRouteLeave 和 updated 來判斷。export default {
name: `supplier`, components:{cmtWrap,cmtContent}, props: [], beforeRouteLeave (to, from, next) {//離開當前頁 if(this.updateCount > 1){ //更新次數大於1 說明使用者修改過當前頁資料 因為獲取詳情時會更新一次 if(from.path.includes(`nowPath`)){ this.$confirm(`即將離開當前頁,請確定是否儲存當前資料?`, `離開當前頁`, { confirmButtonText: `儲存`, cancelButtonText: `不儲存`, type: `warning` }).then(() => { //...todo 這裡調介面 儲存資料 next() }).catch(() => {next()}); }else{next()} }else{ next() } }, updated:function () { this.updateCount = this.updateCount + 1 }, data() { return { updateCount:0,//判斷使用者是否更新當前資料 } }, computed:{}, watch:{}, mounted:function () {
this.getInitData()
}, methods: {
getInitData:function(){
//...todo 頁面進來,先獲取預設資料
}
},
}