一些总结吧
父组件和子组件之间通信用广播: vue可以用多种方法实现组件间沟通,比如用一个属性,
不过这必须用上同步:test.sync
要不然子组件的状态父组件不知道.
但是这有个问题就是不利于解耦,捆绑太紧密了不能复用了,所以还是用广播.
不过还是有个小小的疑问,如果两个同名事件怎么办呢?? 按文档里说是第一个,那可能是父组件加载子组件的顺序吧
我想可能是这样的,如果存在同名的话,那就得手动调整顺序,我感觉最好不要同名.v-bind:fields=”columns” 绑定解释: 有时用简写就比较懵,简单记忆下: 如果原有属性就是绑定属性到vue属性.如果不是自带属性,那就是组件自定义的.比如
:fields="columns"
这里就是一个. fields 子组件 : columns 父组件. 反正等号后面都是当前组件的.可以看下面例子.
1 | <!-- 绑定 attribute --> |
- v-on:create-item=”createItem” 绑定事件监听器: 绑定默认动作,如果不是默认动作,就是自定义事件.
@create-item="createItem"
这样的写法是把动作绑定到一个方法里.
如果没有绑定,就需要把create-item
写在events
属性里了
详细看下面例子代码
1 | <!-- 方法处理器 --> |
1 | new Vue({ |
1 |
|
this.dataList.$set($index, { … } 如何给数组修改数据:
this.dataList[$index] = { ... }
这么写可以 不过不能刷新页面.
所以要修改数组数据 就得这么写this.dataList.$set(index, { ... }
详细看下面例子详细代码this.item = this.dataList[index]: 这个真好不说,还不是十分明白.但是下面的例子确实是这样的.
如果赋值了 他们好像就是绑定了 因为在子组件修改时 父组件数据也同步变化了.根本不需要我再去写什么去修改这个dataList数组了.
详细看下面例子代码吧
例子: