使用vue.js1.0开发组件之前,首先我们要确定组件开发思路,是开发成可多复用的单文件组件,还是仅仅引用一次两次的小组件。此处,仅显示可多次复用的组件,因为这包含可复用组件内部数据处理与调用她的父组件之间的数据传输和处理。
一、vue.js1.0可复用单文件组件开发
1.新建组件页面和js文件,例如;
2.添加组件xxx.tpl或xxx.vue内容,并在js中对组件进行注册
并在选项位置对组件展示页面进行绑定:template:‘password.tpl’
3.父组件中引用组件,即添加注册过的组件引用标签
<c-password></c-password>
4.可复用组件关键的部分,父子组件之间的通讯,
首先,父组件向子组件传输数据,
其中‘msgFather’,为子组件接收数据所用函数名,
其次,子组件接收数据
看的数来,vue.js1.0组件接收数据用events:{},而接收方法类似原生,
可复用组件的优势就在于组件之间的数据传输,父组件可以向子组件传输信息,那么子组件是不是也需要向父组件传输信息呢,答案是肯定的,在vue.js1.0中子组件向父组件传输数据用一种冒泡的方式
父组件则同样用events:{}方式接收数据,并对数据进行处理
综上所述,可以看出vue.js1.0对数据的传输接收都是可以单独操作的,父组件传输金子组件的数据,经过处理可以单独运用并进行修改,再传回父组件进行应用,而应用的方式比较灵活,也类似原生。而他的劣势也很明显,过多的数据冒泡和广播式传输,很容易引起数据的泄露和污染。若是同一个项目运行多个可复用性组件,那么数据的接收将是同时接收n个广播和n个冒泡,所以在vue.js2.0中对这两种方式进行的排除;
二、vue.js2.0组件的开发
1.新建组件和注册,不再赘述(这里组件也可在单文件内不进行注册)
2.数据的传输,
父组件向子组件传输数据,用props方式接收,在父组件引用标签中用
方式进行传输
然而,2.0的vue.js在组件数据的传输中禁用了,父组件数据在子组件中的操作和修改,因为两者剑的数据是互通的,乙方修改,则甲方亦改变;
3.在2.0的vue.js中
添加了
这样两种数据应用方式,这里有一个限制,就是父子组件之间互通的数据在子组件内部不能修改和赋值给其他变量,这样也就屏蔽了变量方式传输的数据操作,对于子组件内部逻辑来说,不可避免的要减少很多复杂逻辑的运行。因为一旦进行赋值和操作,在控制面板便会报错,而在接收函数之外,父组件传值则是无法调用的。
当然,或许还有其他方式引用和操作,此处还有待考证。
4.在2.0的vue中增加了同级组件之间的通讯和父级分发的数据通讯方式
~���nC�9�X#