"vux": "0.0.106"
λͺ¨λ
<toast :show="toast.show">{{toast.msg}}</toast>
κΈλ‘λ² μ»΄ν¬λνΈλ‘ μ¬μ©νκΈ° λλ¬Έμ κ·Έ νμ μ»΄ν¬λνΈλ vuex λ¨λ°©ν₯ λ°μ΄ν° νλ¦μ μ§μ μ¬μ©νμ¬ νμ μ μΌμΌν€μ§λ§ ν μ€νΈμ κ²½κ³ νμλ λͺ¨λ μλ°©ν₯μ΄λ―λ‘ κ²½κ³ λ₯Ό κ³μ λ³΄κ³ νκ³ κ°λ° μ₯μ κ° λΆνΈν©λλ€. .
κ·Έλμ λΉμ μ μ μμ 무μμ λκΉ? TwoWayλ κ΅¬μ± μμμ λ΄λΆ μλμ΄ νμλ₯Ό λ³κ²½νκΈ° λλ¬Έμ λλ€. κ·Έλ μ§ μμΌλ©΄ μνκ° λΉμ μμ μ λλ€.
twoWayλ μλ°©ν₯ λ°μΈλ© μ¬λΆλ₯Ό νμΈνλ κ²λΏμ λλ€. μ΄μ μκ° κ²½κ³ λ₯Ό νμΈνλ κ²μ λλ€.
κ·Έλμ μλ°©ν₯ λ°μΈλ© κ²μ¦μ μ·¨μνλ κ²μ μ μνμ§λ§ μ¬μ ν λ΄λΆμ μΌλ‘ showμ κ°μ μλμΌλ‘ λ³κ²½νλ―λ‘ μΈλΆμμ μλ°©ν₯μ μ¬μ©νλ κ²½μ° κ°μ μλμΌλ‘ λ³κ²½ν μ μμ΅λλ€.
λ¬Όλ‘ λλ μΈλΆμ μΌλ‘ μΌμ κ°μΉλ₯Ό ν΅μ νκΈ° μν΄ μ¬κΈ°μ μλ€.
μ΄λ»κ² μκ°ν΄?
κ·Έλ₯ νμΈνλκ±° μλ?
λ¬Όλ‘ κ²μ¬μΌ λΏμ λλ€!
TwoWayλ₯Ό μμ±ν νμλ μμ§λ§ κ΅¬μ± μμμμ μ¬μ ν λκΈ°νμ λ°μΈλ©λμ΄ μμΌλ©° μλ°©ν₯μΌ μ μμ΅λλ€.
VUEλ‘ μ΄μ§νμ§ νλ¬ λλλ° κΈΈμ΄ κΉμ§ μμμ μ‘°μΈ λΆνλ립λλ€ π
μ»΄ν¬λνΈ λ°μΈλ©μ μν κ²μ¦ κΈ°λ₯μΌ λΏμ
λλ€. Alert νμμ μλ°©ν₯ λ°μΈλ©μ΄ νμνμ§ μμ κ²½μ° on-hide
μ΄λ²€νΈλ₯Ό ν΅ν΄μλ§ show κ°μ λ³κ²½ν μ μμ΅λλ€.
μ, κ²½κ³ κ° μ΄λ―Έ μμ΅λλ€. ν μ€νΈ, λλ λ°μ΄λ μΌλ₯Ό λ³κ²½νκΈ° μν΄ setTimeoutμ μ€μ νμ΅λλ€. λ¬Όλ‘ μ¨κΉ μνκ° κ°μ₯ μ’μ΅λλ€.
λν toastμ alertλ vuexμ κ·Έλ€μ§ νΈνλμ§ μλλ€κ³ μκ°ν©λλ€.
@JianleiZhang μ λ€μ 릴리μ€μμ ꡬνν©λλ€.
vuex+vux μ‘°ν©μμλ Popup κ΅¬μ± μμλ₯Ό μ¬μ©ν λ twoWayμ λ°μΈλ©λ κ²½κ³ κ° λ°μνμ΅λλ€. μ²μμλ λ³κ²½ μ¬νμ΄ μμ λμ μ΄λ²€νΈλ λ£κ³ μΆμμ΅λλ€!λμ€μ μ¬κΈ°μμ μλ‘μ΄ μ루μ μ μ°Ύμμ΅λλ€. κ³μ°λ μμ±
λ€μμ κ°λ¨ν μμ λλ€.
<template>
<popup :show.sync="showed">
<group>
<switch title="just switch" :value.sync="showed"></switch>
</group>
</popup>
</template>
<script>
export default {
vuex: {
getters: {
getShow
},
actions: {
updateShow
}
},
computed: {
showed: {
get: function () {
return this.getShow
},
set: function (val) {
this.updateShow(val)
}
}
}
}
</script>
λͺ¨λν°λ§ μ΄λ²€νΈμ λΉκ΅νμ¬ κ³μ° μμ± μΊ‘μνμ μΆκ° κ³μΈ΅μ΄ μμ§λ§ κ²½κ³ νκΈ° μν΄ μλ³μ κ³ νκΈ°λ ν©λλ€.
@pzxbc λΈλ¦΄λ¦¬μΈνΈ : μ€λ§μΌλ¦¬:
@pzxbc getshow μ κ°μ μμ νκΈ° μν΄ λμ°λ³μ΄λ₯Ό λ°μ‘ν λ€μ νμλ μμ±μ κ³μ°νλ©΄ κ°μ΄ νμ ꡬμ±μμμ λ΄λΆ show κ°μΌλ‘ μ λ¬λμ΄ κ΅¬μ±μμ μνκ° λ³κ²½λλ€λ κ²μ μμμ΅λλ€. μμ κ²μ΄ λ΄κ° νμλ‘ νλ κ²μ΄μ§λ§ λλ console.logλ₯Ό μ¬μ©νμ¬ λμ°λ³μ΄κ° λ λ² νΈμΆλμμμ μ°ΎκΈ° λλ¬Έμ νμλ λ€μ κ³μ° μμ±μ΄ this.updateShow μ€μ μ λ°μΈλ©λ ν¨μλ₯Ό νΈμΆνλ€λ κ²μ λ°κ²¬νμ΅λλ€.
λ΄ μ κ·Ό λ°©μμ λ€μκ³Ό κ°μ΅λλ€.
set: function (val) {
if (val === false){
this.updateAlert(val)
}
}
κ°μ₯ μ μ©ν λκΈ
vuex+vux μ‘°ν©μμλ Popup κ΅¬μ± μμλ₯Ό μ¬μ©ν λ twoWayμ λ°μΈλ©λ κ²½κ³ κ° λ°μνμ΅λλ€. μ²μμλ λ³κ²½ μ¬νμ΄ μμ λμ μ΄λ²€νΈλ λ£κ³ μΆμμ΅λλ€!λμ€μ μ¬κΈ°μμ μλ‘μ΄ μ루μ μ μ°Ύμμ΅λλ€. κ³μ°λ μμ±
λ€μμ κ°λ¨ν μμ λλ€.
λͺ¨λν°λ§ μ΄λ²€νΈμ λΉκ΅νμ¬ κ³μ° μμ± μΊ‘μνμ μΆκ° κ³μΈ΅μ΄ μμ§λ§ κ²½κ³ νκΈ° μν΄ μλ³μ κ³ νκΈ°λ ν©λλ€.