knockout 简介
knockoutjs的实现依照[MVVM模式],Model-View-ViewModel。
Model,用来聚合server端数据
ViewModel,描述的数据以及操作,是行为的抽象
View,UI层面的状态显示
因此,KO的大致使用思想是:View就是你带有绑定信息的HTML文档,用ViewModel管理这些声明绑定,当任何数据请求返回或者数据变化时,ViewModel启动工作并更新View,开发时只需要着重关注与ViewModel
Demo
<!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>中。