双向绑定。vue的双向绑定在本质上还是单向绑定,v-mode只是一种简写方式,目的是让我们写更少的代码。一般是将页面的动作和页面的显示绑定起来。比如说对于text来说,将value(页面的显示)和@input(页面的动作:输入,@input就是v-on:input的缩写)绑定起来,这样就可以做到一边输入页面显示一遍改变。
单向绑定:
a)视图绑定数据,视图随着数据的变化而变化:个人的理解就是展示的内容可以根据数据的更新自动的更新。就好像数据库的电路数据会自动的更新,而显示到网页的下拉菜单上的电路对也应该自动的更新。在我们这个项目中一定会用到。组件的data就是数据来源,但是我们的项目还有一个需求,就是组件的data是由后端数据库提供的,需要向数据库发起请求,得到data,再使用此data对所有使用到该data的组件进行自动进行渲染(组件中使用v-mode即可)。由于只读取一次,所以要用到此data的组件必须使用on-show的方式来展示,即已经渲染完毕,但是并不一定显示出来,要根据js来进行选择性的显示。
b)数据绑定视图,数据随着视图的变化而变化:根据网页上展示的内容的改变而改变数据库,可以想象的是个人信息的录入,类似于腾讯在线文档。在线文档的编辑看起来是数据的输入改变视图,而视图又改变数据,其实并不是真正的双向绑定。前面这句话的第一个数据是用户输入的数据,第二个数据是数据库的数据,并非同一个对象。其实是用户--视图--数据库,这个流程是单向的。但是另外一个用户点击“编辑”这个按钮的时候,又变成了数据库--视图--用户。所以从大的流程来说,是双向的。vue中的v-mode是发生在控件和data两者之间的,而不是发生在用户--视图--数据库三者之间的,所以算不上双向绑定。
有没有两者同时需要的场景呢?v-mode是一种缩写形式:
我们的项目中存在点击某个选项之后会弹出或者改变其他的div,这个就是checkbox的click事件,不知道v-mode能不能用于click事件。这里官方用的是change事件。
查阅jquery,checkbox有选中、改变状态、change和click事件,这里v-mode只适用于change事件。click事件,选中事件都是项目需要的。
vue里面提供了为自定义组件的创建v-mode的方式:这种方式mode只能绑定两个参数(checked,change)
如果要绑定多个参数,则需要.sync修饰符