UNPKG

kero

Version:

<img src="http://tinper.org/assets/images/kero.png" width="120" style="max-width:100%;"/>

67 lines (42 loc) 2.3 kB
# Kero依赖 通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合,这是引入设计模式的优点,实现了View层和数据层的分离。 Kero的模型层以knockout为基础来做数据的双向绑定,数据模型也是以knockout为核心,构建出来的多维数据模型。 ## 选用Knockout 在项目中,我们做数据分离,需要满足以下基本需求: * 实现需求:数据双向绑定 * 版本支持:支持低版本浏览器(如:ie8) * 轻量:原生无依赖 以上,Knockout都做了很好的支持: * 高效简洁的双向绑定 * 浏览器支持友好:ie6及以上 * 原生javascript * 紧凑:gzip压缩后13kb ## Ko实现数据绑定 ## Ko学习 了解基本的Knockout可查看由刘绍振同学写的[Knockout入门](https://github.com/iuap-design/blog/issues/26),涵盖了绑定常用的API。 Ko的官网除了提供[Live examples](http://knockoutjs.com/examples/),还提供了交互式学习的[快速入门](http://learn.knockoutjs.com/),很容易轻松上手。 ## 其他Ko学习资料 - 中文文档下载:[KnockoutJS.chm](http://tinper.org/assets/static/handbook/KnockoutJS.chm) (如果有下载打不开,请进行如下操作。) * 先关闭文件,右键点击文件--》选择“属性” ![](/assets/static/img/kero/ko1.png) * 点击“解除锁定”,重新打开就可以了 ![](/assets/static/img/kero/ko2.png) <div class="examples-code"><pre><code> &lt;!-- ko通过data-bind绑定数据 --> &lt;p>First name: &lt;input data-bind="value: firstName" />&lt;/p> &lt;p>Last name: &lt;input data-bind="value: lastName" />&lt;/p> &lt;h2>Hello, &lt;span data-bind="text: fullName"> &lt;/span>!&lt;/h2></code></pre> </div> <pre class="examples-code"><code> // 定义ViewModel var ViewModel = function(first, last) { // ko.observable可实时监听数据,实现绑定 this.firstName = ko.observable(first); this.lastName = ko.observable(last); this.fullName = ko.pureComputed(function() { // ko.pureComputed用于执行计算,实时返回改变后的结果 return this.firstName() + " " + this.lastName(); }, this); }; ko.applyBindings(new ViewModel("Planet", "Earth")); // 通过ko.applyBindings执行knockout</code></pre>