knockoutjs的学习

今天对knockoutjs有了一个初步的了解。Knockout.js是一个JavaScript库,它让HTML控件很容易与数据进行绑定。Knockout.js使用的是“模型-视图-视图模型(MVVM)”模式。它对于分离前台的业务逻辑和视图简化数据绑定过程有显著的作用

Vs2012asp.net mvc4中集成了knockout.js,在html或者cshtml就可以直接引用。

 

<script src=  type=”text/javascript”></script>

 

练习的第一个示例小程序:

 

<script type="text/javascript">

var AppViewModel = {

helloWorld: 'Hello World !!'

}; 

ko.applyBindings(AppViewModel);

</script> 

<span data-bind="text:helloWorld"></span>


 

helloWorld绑定到span空间上,运行,页面上输出了'Hello World !!,这样就实现了knockout数据的基本绑定。

 

练习的第二个示例小程序:

<script type="text/javascript">   

 function ViewModel() {       

 this.firstName = "Zixin";      

  this.lastName = "Yin";    

}

ko.applyBindings(new ViewModel());

</script> 

 

<div>    

 <p data-bind="text: firstName"></p>   

 <p data-bind="text: lasttName"></p>   

 <input data-bind="value: firstName"/>    

 <input data-bind="value: lastName"/> 

div> 


 

 

页面上显示了两组firstNamelastName,并且如果修改input的值时,当焦点离开的时候p中的值也会相应的做出相同的变化,很神奇。

 

问题及疑惑:

 

1.第一次使用knockout时习惯性的把js写在了html的前面,结果不能正常显示,经过反复试验,将js写在了html的后面就能正常显示,让人很是费解。

 

2.在练习使用simpleGrid时,出现错误,如下:

 

猜测需要knockout.simpleGrid.js,但在网上找了好久,也没找到这个文件。不知这个错误怎么处理。

 

 解决方法:

1.   js写在了html的前面,后面的疑惑

原因:在运行那段Js时,konckoutjs对象 还没有加载好。

解决方法:

    正常我们是使用 jquery的,用 document.read后触发 ko.appBindings

代码:

var AppViewModel = {

helloWorld: 'Hello World !!'

};

 

    $(function(){

    ko.applyBindings(AppViewModel);

 

});

 

2. knockout.simpleGrid.js  问题

解决这个问题的方法,这个Demo是在他官方网站里看到,并且可以运行的,

可以查看它官网的网页源代码,从中找出它的demosimpleGridjs

 

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值