介绍
脚本> 怎么在VUE中利用组件实现双向绑定?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> 1。VUE前端简单介绍强>
VUE JS是一个简洁的双向数据绑定框架,他的性能超过ANGULARJS,原因是实现的机制和ANGULARJS不同,他在初始化时对数据增加了获取和设置方法,在数据设置时,在数据属性上添加监控,这样数据发生改变时,就会触发他上面的观察者,而ANGULARJS是使用脏数据检查来实现的。
另外VUEJS入门比ANGULARJS简单,中文文档也很齐全。
<强> 2。组件实现强>
在使用vue开发过程中,我们会需要扩展一些组件,在表单中使用,比如一个用户选择器。
在VUEJS封装时,可以使用组件和指令。
在VUEJS中有v模型这个感觉和ANGULARJS类似,实际完全不同,没有ANGULARJS复杂,他没有象ANGULARJS的ng-model的viewtomodel和modeltoview特性,而且这个v模型只能在输入复选框选择等控件上进行使用,而ANGULARJS可以扩展ngmodel实现他的渲染方法. .
另外我在使用vue指令时,实现双向绑定,这个我研究了自定义指定的写法,可能还是不太熟悉的原因,还没有实现。
我改用组件来实现:
Vue.component (& # 39; inputtext # 39;,, { ,,,,,道具:,{ ,,,,,,,& # 39;输入# 39;:{ ,,,,,,,,要求:真实 ,,,,,},pname:, { ,,,,,,,要求:真实 ,,,,,}}, ,,,,,模板:,& # 39;& lt; div> & lt; input 类型=皌ext", v-model.lazy=笆淙隱pname]“祝辞& lt; button @click=癷nit",在选择& lt;/button> & lt;/div> & # 39; ,,,,,数据:,function (), {, ,,,,,,,return { ,,,,,,,,myModel:,“ray" ,,,,,,,} ,,,,,}, ,,,,, ,,,,,方法:,{ ,,,,,,init: function (), { ,,,,,,,,var 研制=提示(“输入数据!“,,,,); ,,,,,,,,this.input [this.pname]=研制; ,,,,,,,} ,,,,,} ,,,,})
在vue实现组件时,他使用的是单向数据流,在这里我们使用对象来实现双向绑定。
在上面的代码中,有两个属性:
输入,pname其中输入是一个数据对象实例,pname:只是一个字符串。
模版代码:
& lt; script 类型=皒-template", id=癿yTemplate"比; ,,,& lt; div 比; ,,,,,& lt; table 边界=?“,宽度=?00“比; ,,,,,,,,& lt; tr> ,,,,,,,,,,& lt; td> name ,,,,,,,,,,& lt; td> ,,,,,,,,,,,,& lt; input-text :输入=皃erson", pname=皀ame"祝辞& lt;/input-text> ,,,,,,,,,,& lt;/td> ,,,,,,,,& lt;/tr> ,,,,,,,,& lt; tr> ,,,,,,,,,,& lt; td> age ,,,,,,,,,,& lt; td> ,,,,,,,,,,,,& lt; input v模型=皃erson.age"比; ,,,,,,,,,,& lt;/td> ,,,,,,,,& lt;/tr> ,,,,,,,, ,,,,,,& lt;/table> ,,,,,,& lt; table 边界=?“,宽度=?00“比; ,,,,,,,,& lt; tr> ,,,,,,,,,,& lt; td colspan=?“在 ,,,,,,,,,,,,& lt; https://www.yisu.com/zixun/a href=" # " @click=癮ddRow(“项目”)“class=" btn btn-primary ">添加> 道明>表> {{他}} <文本:输入="项目" pname="学校"> 文本> 道明> <文本:输入="项目" pname="年"> 文本> 道明> <@click=" removeRow(“项目”,指数)”>删除> 道明>
& lt; inputtext :输入=癷tem", pname=皊chool"祝辞& lt;/inputtext> & lt; inputtext :输入=皃erson", pname=皀ame"祝辞& lt;/inputtext>
组件使用代码,这里绑定了,人的数据,pname为绑定字段。
JS实现代码:
var app8 =, Vue ({new ,,,,模板:“# myTemplate", ,,,,数据:{ ,,,,,,人:{名称:““,年龄:0, ,,,,,,,项目:[], null null null null null null null null null null null null null null怎么在VUE中利用组件实现双向绑定