手机版

ko knockoutjs动态属性绑定技巧的应用

时间:2021-10-07 来源:互联网 编辑:宝哥软件园 浏览:

Knockoutjs,简称ko ko,指的是ViewModel的不确定属性,而是后期需要的属性。什么是不确定属性,比如ListModel?如果您编辑某个项目,您希望将其状态更改为“编辑”。数据不包括编辑属性。当mvvm被绑定时,将会报告错误。那么我们必须扩大ko来实现我们的目标。一、了解有值属性的绑定和无值属性的绑定:一、有值属性的绑定:JS模型:复制代码如下: $(function(){ var view model=function(){ var self=this;self . text=ko . observable(1);};ko . applybindings(new viewModel());});UI :复制代码如下: div data-bind=' text : text '/div presentation:(9500 . 163.com)。

二、无值属性绑定:JS模型:复制代码如下: $(function(){ var view model=function(){ var self=this;self . text=ko . observable();};ko . applybindings(new viewModel());});当然,文本是一种通用值类型,其用法与有值属性的绑定相同。如果不是值类型,属性是对象,需要用: UI绑定的:复制代码如下: div data-bind='用: text ' div data-bind=' text : property '/div/div III。动态属性绑定:动态属性绑定,所以这个属性本身是不确定的,用ko方法很难实现,需要扩展。JS扩展:复制代码如下: //雾里看花q :397386036 ko . binding handlers . ext={ update : function(element,value accessor,allbindinghandler,viewmodel,binding context){ var value=ko . utils . unwrapobservable(value accessor());for(var handler in value){ if(value . hasown property(handler)){ if(type of viewModel[value[handler]==' undefined '){ viewModel[value[handler]]=ko . observatory();} ko.bindingHandlers[handler]。update(element,function(){ return viewModel[value[handler]];});} } } };JS模型:复制的代码如下: $(function(){ var view model=function(){ };ko . applybindings(new viewModel());});UI绑定:复制代码如下: div数据-绑定=' ext 3360 { text : ' text ' } '/div!-事件易于测试-a href=' JavaScript : void(0)' data-bind=' click 3360 function(){ $ data . text(1);} '更改文本值/a ext,第一个文本是ko text方法,第二个文本必须是字符串,是context/viewModel的属性。因此,ext的动态属性可以用在任何ko方法中,如ext: {text:' text ',value : ' text ' } presentation:(9501 . 163.com)。

版权声明:ko knockoutjs动态属性绑定技巧的应用是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。