2016-11-10 244 views
2
犯我使用的是計算性能

category由V-綁定綁定的輸入域像以下:如何使用的getter和setter方法計算出的屬性觸發Vuex

<select name="Category" :value="category"> 
    <option value="AC">AC</option> 
    <option value="TV">TV</option> 
    ... 
    </select> 

,我有getter和setter方法這個計算的屬性,如下所示:

computed:{ 
    category: { 
     get() { 
     return this.$store.state.category 
     }, 
     set (value) { 
     console.log("Value of category changed") 
     this.store.commit("SET_CAT", value) 
     } 
    } 
} 

但是當我改變輸入,二傳手不會被調用,我怎麼能achived這樣,還是有什麼其他的方式可以是直接從HTML輸入字段更改狀態變量。

Here是這個小提琴。

回答

2

這工作只是通過v-bind改變爲v-modelselect

<select name="Category" v-model="category"> 
    <option value="" disabled hidden>Select Product</option> 
    .... 

這裏是工作fiddle

如果您覺得還有一些更好的方法可以做,請發表回答。

+0

這是正確的,請參閱https://vuejs.org/v2/guide/forms.html#Select – damienix