UNPKG

kero

Version:
132 lines (113 loc) 3.31 kB
# 基本示例 本例展示数据绑定。 ##数据绑定 本例实现如下效果: * 默认数据绑定:`#demo_input`输入框绑定`'hello world'` * 双向绑定: `#demo_div`获取`#demo_input`默认的值、及`#demo_input`修改失去焦点后的值 <div class="example-content"><!-- HTML u-meta:框架特有标记,框架通过识别此标记创建对应UI组件,以及进行数据绑定 id,type.data,field为必选项 id:创建组件唯一标识 type:创建组件对应的类型 data:指定数据模型中的数据集 field:绑定数据集中对应的字段 --> <input id="demo_input" u-meta='{"id":"t1","type":"string","data":"dt1","field":"f1"}' /> <div id="demo_div"></div></div> <div class="example-content ex-hide"><script>// JS var app,viewModel; /** * viewModel 创建数据模型 * dt1 创建的数据集 * f1 创建数据集中的字段 * type:指定数据对应的类型 */ viewModel = { dt1: new u.DataTable({ meta:{ f1:{ type:'string' } } }) }; /** * app 创建框架服务 * el 指定服务对应的顶层DOM * model 指定服务对应的数据模型 */ app = u.createApp({ el:'body', model:viewModel }); // 数据集dt1创建空行,并为字符f1赋值'Hello World' var r = viewModel.dt1.createEmptyRow(); r.setValue('f1','Hello World'); /** * 数据集发生改变时,将#demo_input数据显示在#demo_div中 * @return {[type]} [description] */ var demoInput = document.getElementById('demo_input'); var demoDiv = document.getElementById('demo_div'); var getDtValue = function() { var dtVal = viewModel.dt1.getValue('f1'); demoDiv.innerHTML = dtVal; }; demoInput.addEventListener('blur',getDtValue); getDtValue(); </script></div> <div class="examples-code"><pre><code>&lt;!-- HTML u-meta:框架特有标记,框架通过识别此标记创建对应UI组件,以及进行数据绑定 id,type.data,field为必选项 id:创建组件唯一标识 type:创建组件对应的类型 data:指定数据模型中的数据集 field:绑定数据集中对应的字段 --> &lt;input id="demo_input" u-meta='{"id":"t1","type":"string","data":"dt1","field":"f1"}' /> &lt;div id="demo_div">&lt;/div></code></pre> </div> <div class="examples-code"><pre><code>// JS var app,viewModel; /** * viewModel 创建数据模型 * dt1 创建的数据集 * f1 创建数据集中的字段 * type:指定数据对应的类型 */ viewModel = { dt1: new u.DataTable({ meta:{ f1:{ type:'string' } } }) }; /** * app 创建框架服务 * el 指定服务对应的顶层DOM * model 指定服务对应的数据模型 */ app = u.createApp({ el:'body', model:viewModel }); // 数据集dt1创建空行,并为字符f1赋值'Hello World' var r = viewModel.dt1.createEmptyRow(); r.setValue('f1','Hello World'); /** * 数据集发生改变时,将#demo_input数据显示在#demo_div中 * @return {[type]} [description] */ var demoInput = document.getElementById('demo_input'); var demoDiv = document.getElementById('demo_div'); var getDtValue = function() { var dtVal = viewModel.dt1.getValue('f1'); demoDiv.innerHTML = dtVal; }; demoInput.addEventListener('blur',getDtValue); getDtValue();</code></pre> </div>