javascript - 关于双向绑定v-model的疑问
phpcn_u1582
phpcn_u1582 2017-05-19 10:39:18
0
5
572

刚刚接触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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板