怎样理解vue的单向数据流?
- 在vue中,父组件可以通过prop将数据传给子组件,但这个prop只能由父组件来修改,子组件修改就会抛出错误。
- 如果子组件想修改数据,只能通过$emit由子组件派发事件,并由父组件接收事件进行修改。
为什么子组件不可以修改父组件传递的Props?(为何提倡单项数据流)
-
由于vue提倡单项数据流,即父组件props的更新会流向子组件,但反过来却不行,这是为了防止意外改变父组件的状态,使得应用的数据流变的难以理解。
-
如果破坏了单项数据流,当应用变的复杂时,debug的成本会很高。
组件间有哪些通信方式?
- 父子组件通信
- props / $emit
- $parent / $children
- ref
- provide / inject
- .sync
- 非父子组件通信
- eventBus
- 通过根实例$root
- vuex
- $attr / $listeners
- provide / inject
说一说vue的动态组件?
- 多个组件通过同一个挂载点进行组件的切换,is的值是哪个组件的名称,那么页面就会显示这个组件。
<div :is = 'XXX'></div>
来源:oschina
链接:https://my.oschina.net/u/4461771/blog/3178049