Knockout的具体介绍我这里就不详情说了,对于初学者来说,我们首先要知道两个属性:1.监控属性;2.绑定属性,只要知道了了解这连个属性,学习起来就简单多了。
ko监控字符串值的关键字为:observable,
绑定文本框的关键字为:value,绑定非文本框的关键字为:text;
直接上代码:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<head>
<script src="~/Scripts/Knockout.js"></script>
<script src="~/Scripts/knockout-map.js"></script>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.json.min.js"></script>
<script>
$(function ($) {
var ViewMode={};
ViewMode =function () {
this.UserName = ko.observable("张三");//observable代表跟踪,括号里的"张三"为初始值
this.Age = ko.observable("21");
this.ShowInfo = ko.pureComputed(function () {
return "姓名:"+this.UserName() + ",年龄:" + this.Age();
}, this);
};
ko.applyBindings(ViewMode);
});
</script>
</head>
<body>
@*value:绑定文本框的值*@
姓名:<input type="text" data-bind="value:UserName"/><br />
年龄:<input type="text" data-bind="value:Age">
信息:<span data-bind="text:ShowInfo"></span>
</body>
效果如下:
每个属性可以多次绑定,代码如下:
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<head>
<script src="~/Scripts/Knockout.js"></script>
<script src="~/Scripts/knockout-map.js"></script>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.json.min.js"></script>
<script>
$(function ($) {
var ViewMode={};
ViewMode =function () {
this.UserName = ko.observable("张三");//observable代表跟踪,括号里的"张三"为初始值
this.Age = ko.observable("21");
this.ShowInfo = ko.pureComputed(function () {
return "姓名:"+this.UserName() + ",年龄:" + this.Age();
}, this);
};
ko.applyBindings(ViewMode);
});
</script>
</head>
<body>
@*value:绑定文本框的值*@
姓名:<input type="text" data-bind="value:UserName"/><br />
年龄:<input type="text" data-bind="value:Age">
信息:<span data-bind="text:ShowInfo"></span><br />
信息2:姓名:<span data-bind="text:UserName"></span>,年龄:<span data-bind="text:Age"></span>
</body>
效果如下:
对比发现,信息与信息2展示的是一样的,只不过信息的组合方式,第一个是在ko里面进行组合,生成了一个新的属性,第二个直接将UserName也绑定了给了Span标签,得到的效果是一样的。