Knockout学习(1)之observable,监控文本

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标签,得到的效果是一样的。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值