javascript - 關於雙向綁定v-model的疑問
phpcn_u1582
phpcn_u1582 2017-05-19 10:39:18
0
5
558

剛接觸vue,對於其中v-model有幾個疑問,例如在子元件中使用v-model,最終也是透過this.$emit('input', value) ,將數據返回給父組件。
那麼對於雙向綁定是否有限制啊?例如可以對父元件中data的key/value進行操作,那麼是否可以對父元件data中某項陣列的對應值進行操作?
另外就是是否可以對computed屬性中某數組進行雙向綁定操作?

#鄙人試了下,看似如上圖的操作結果,所以想請告知下,如果可以 應該如何操作?

              <tr v-for="i in thisPageData">//thisPageData属于computed中的数组
                  <td>
                      <c-checkbox v-model="i.checked" @input="showInput"></c-checkbox>
                  </td>
                  <td>{{i.checked}}</td>
                  <td>{{ i.id }}</td>
                  <td>{{ i.code }}</td>
                  <td>{{ i.name }}</td>
                  <td>{{ i.ip }}</td>
                  <td>{{ i.description }}</td>
                  <td>{{ i.assetsNumber }}</td>
              </tr>

checkbox元件就是一般的checkbox按鈕,對樣式進行了統一控制,最後回傳的就是true和false

phpcn_u1582
phpcn_u1582

全部回覆(5)
漂亮男人

子元件與父元件的資料是單向流動的,這是為了防止子元件竄改父元件的資料造成混亂傳送門

漂亮男人

父子元件不允許 計算屬性要自行實作set和get才行

曾经蜡笔没有小新

子元件不能隨便修改父元件屬性值的
而computed計算屬性的驅動都是基於它所依賴的那個變數的,一般也不會對計算屬性做雙向綁定

PHPzhong

類似的數據交互很多的話, 搞個vuex?

巴扎黑

父元件(parent)可以對子元件的input事件寫method去操作parent的data中的陣列

計算屬性是支援set/get操作的, get就是預設操作(return value), set的參數接收你給的值, 在set中你可以寫一個this.$emit('xxx', value)透過事件傳出去, 如果xxx是'input', 那麼可以寫的更靈活

https://cn.vuejs.org/v2/guide...計算-setter

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板