Slide 13
Slide 13 text
/components/SpecialButton.vue
button.button(:disabled=“disabled”) ΞΫγϣϯ
computed: {
disabled() {
return this.$store.getters[‘page/isDisabled’]
}
}
/store/modules/page.ts
state = {
canOperate: false, // ૢ࡞ݖݶ
hasContent: false // ίϯςϯπ͕͋Δ͔
}
getters = {
isDisabled(s) { // Ϙλϯ͕ඇ׆ੑ͔
return !(s.canOperate && s.hasContent)
}
}
views
┗ Page.vue // ϖʔδίϯϙʔωϯτ
components
┣ Content.vue // Page.vue͔ΒݺΕΔ
┗ SpecialButton.vue // Content.vue͔ΒݺΕΔ
store
┣ modules
┣ ┗ page.ts // Page.vueʹؔ͢Δstore
┗ index.ts
• disabeldpropsͰ͖͢
→ SpecialButton͕storeͷมߋʹґଘ͍ͯ͠Δ
• page.tsͷstateʹ֨ೲ͞ΕΔཻ͕ό
ϥόϥ
→ ΄΅࣮֬ʹωʔϜεϖʔεͷίϯϑϦΫτ͕ى͜Δ
• ଞʹ৭ʑ͋Δׂ͕Ѫ