我的 index.vue 程式,當進去頁面第一個讀的檔案
<template>
<div>
<Table></Table>
<dataDialog></dataDialog>
</div>
</template>
<script>
import Table from './table'
import dataDialog from './dataDialog'
export default {
data() {
return {
moduleName: 'advertise',
}
},
components: {
Table,
dataDialog,
},
}
</script>
有多筆資料
從 table 透過按鈕 click 事件開啟 dialog
<el-button
@click="handleEdit(scope.row)">
</el-button>
handleEdit(row) {
this.$store.commit(`abc/UPDATE_STATE`, 'dataDialogVisible', true)
},
dialog
export default {
data() {
return {
isUnlimited: false,
}
},
created() {
this.handleCheckboxUnlimited()
},
methods: {
handleCheckboxUnlimited() {
if (this.endTime.indexOf('3020') !== -1)
this.isUnlimited = true
},
}
}
我想做到的是
每一筆資料都有一個 endTime
每次開啟都檢查該筆資料的 this.endTime.indexOf('3020') !== -1
若有則 this.isUnlimited = true
只是 created 是只會執行一次,除非刷新
若是這樣有啥方式可以每當開啟 dialog 時就(執行 handleCheckboxUnlimited()
一次)檢查該筆資料的 endTime
?
或是說直接存 Vuex 算了⋯⋯⋯⋯
<dataDialog v-if="switch"></dataDialog>
發射時順便讓switch變成true,關閉dataDialog改成false...這樣才不會被cache住。
超過三層才比較需要用vuex,你這個看來還不太需要,太少層vuex寫的code還比較多。