赞
踩
Vue2.0 中根元素只能有一个
组件中data的数据定义方式:
data:function(){
return {
arr:[a,b,c]
}
}
原因:组件在项目运行过程中可能被创建多次,所以data要求是函数(本质上还是因为引用类型是把变量地址存储在栈中,而变量的实际值存储在堆中,数据传递实际上是地址的传递)
为了解决js中多变量 可以实现引用数据类型的数据共享
为了隔离组件与组件间的数据独立,互不影响,通过函数的方式,让组件在每次创建时都返回一个新的对象。
堆栈数据存储原理
动态组件:根据选择性的需求,选择性的渲染相关组件。(例如登录与注册的切换显示)
通过<component :is=”page”></component>的形式来实现
v-bind:is==>用于指定组件=实例的变量
在其中page作为变量位于data中。
每次渲染的时候,都会重新渲染组件
默认组件不缓存,一旦切换原组件直接销毁,每次显示时都重新创建组件
这种特性可能会造成一些问题,比如登录注册那就只想创建一次,频繁的创建渲染组件没有必要。在vue中如何让动态组件不被销毁?
包含在<keep-alive></keep-live>标签中。
组件缓存:<keep-alive></keep-live>
组件分发:<slot neme=“aa”></slot>相当于一个占位符,可以在组件的使用过程中,为组件在不同的位置添加元素。
组件的参数传递(vue官方定义中没有兄弟组件这一说法)
1、父组件向子组件传递参数
单向数据流
2、子组件向父组件传递参数
事件发送 emit()
3、非父子组件之间的参数传递
中央数据总线——中间替代组件
1. 父组件向子组件传值:
依赖于指令 v-bind è 用在子组件标签上
组件中的属性 prop è 定义在子组件实例中
props: 用于从父组件中获取传递的参数(这句话理解不对?)
通过在子组件中绑定属性的方式来获取数据 v-bind :info=”msg”
子组件的定义中使用
props:{
info:””,
}
Vue标签上是不能绑定对象的(vue官方这么建议的) 但是在实际的使用过程中经常使用 这个使用要慎重,尽量不要使用,在不是完全确定的情况下,会因为不报错,导致调试困难
Vue官方不建议使用
父组件和子组件之间完成数据独立
单向数据流概念:父组件的属性变化时,将传导给子组件,但是反过来则不会(可以有一个例子,就是采用双向绑定(v-model)在修改子组件的时候会报错)
绑定对象则可以。。。但是不建议使用,原因如上。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。