knockoutjs的实现依照[MVVM模式],Model-View-ViewModel。
Model,用来聚合server端数据
ViewModel,描述的数据以及操作,是行为的抽象
View,UI层面的状态显示
因此,KO的大致使用思想是:View就是你带有绑定信息的HTML文档,用ViewModel管理这些声明绑定,当任何数据请求返回或者数据变化时,ViewModel启动工作并更新View,开发时只需要着重关注与ViewModel
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>KO 入门</title> <script src="http://knockoutjs.com/downloads/knockout-3.2.0.js"></script></head><body> 输入值:<input type="text" id="txtValue" data-bind="value: myValue" /><br/> 响应文本:<span id="spnValue" data-bind="text: myValue"></span> <script type="text/javascript"> var myViewModel = { myValue: ko.observable("walker") } ko.applyBindings(myViewModel); </script></body></html>
解析:
1.定义了一个 myViewModel组件对象(包含一个myValue的属性)。
2.通过data-bind="value: myValue"将myValue属性绑到<input>的value值。
3.通过data-bind="text: myValue"将属性值动态的反映到<span>中。
新闻热点
疑难解答