交互类绑定 交互类绑定主要用在表单中,包括常用的value、textInput、options、submit以及validation等。下面简单说说。 (1)value绑定 使用方法和上面的一样,在界面设计器中绑定bind-value,然后在 js 中进行相应的操作即可。比如官方的Hello World教程,也可以用 value 绑定来改写: 先往界面编辑器中加入一个output控件和一个input控件,设置output控件的bind-text为‘Hello, ’+ mybind.get(),然后设置input控件的bind-value为mybind。然后在js中将mybind设置为可观察对象即可。 这样效果就出来了,每次输入完输入框失去焦点后output的内容就会被刷新。如果要让输入值马上更新到output中,那就要配置一个附加参数,bind-value设置为 myBind, valueUpdate: ‘afterkeydown’。效果: (2)textInput绑定 属性HTML5的同学会知道DOM3事件中新增了一个 ‘textInput’事件,WeX5中也支持这个事件的绑定,目前可视化界面中还没有这个事件,但是可以在自定义属性中使用它。 如果需要实时同步效果的话,更推荐这个textInput方法,不单更加简单,对浏览器的支持也更加好。 (3)options、selectOptions绑定 在下拉列表中可使用 options 来绑定子项的值,子项既可以是字符串,也可以是 js 对象。操作与上述绑定一样,在select控件上自定义属性bind-options,在js中设置其绑定值为可观察对象数组(如this.listItem = (4)hasFocus绑定 这个主要用在输入框上,不过原生事件中也有个focus,所以显得不是特别有用,这里给个案例。 代码: <!-- HTML code --><p>Name: <b bind-visible="!editing.get()" bind-text="name" bind-click="edit"> </b> <input bind-visible="editing" bind-value="name" bind-hasFocus="editing"/></p><p><em>Click the name to edit it; click elsewhere to apply changes.</em></p>HTML Codedefine(function(require){ var $ = require("jquery"); var justep = require("$UI/system/lib/justep"); var Model = function(){ var that = this; this.callParent(); this.name = justep.Bind.observable("Justep wex5"); this.editing = justep.Bind.observable(false); this.edit = function() { that.editing.set(true); }; }; return Model;});JS Code这个效果也是比较常见的了,主要是用两个标签的来回切换实现,切换事件由click和hasfocus触发。 总结 基本的绑定用法就以上这些了,还有一些比如模板绑定和component绑定的内容就留到后续再介绍了。码字不易,顺手点赞哈~ |