Knockout Js的自定义绑定处理程序更新依赖项
Knockout Js custom binding handler update dependency
本文:Knockout:自定义绑定处理程序上的valueAccessor与viewModel?对如何在自定义绑定处理程序中绑定viewModel可观察性进行了以下声明:"任何访问其值的可观察对象都将创建依赖项。"
如何访问自定义绑定处理程序内viewModel上可观察X的值,而不创建依赖项,使自定义绑定处理器在以后更改X时进行更新?
我做了一个Fiddle来展示这一点。viewModel.xxx();
行创建了对"xxx"可观察项的依赖项。
http://jsfiddle.net/hhw4a/5/
简单回答:你不能。
可用的最佳解决方法,afaik:创建一个普通的JavaScript属性,并引用。类似这样的东西:
function Vm(){
this.aOb = ko.observable('a value');
this.a = this.aOb();
}
现在,您可以在自定义绑定中引用a
,对aOb的更改不会导致绑定重新启动。
如果你想始终与aOb保持同步,你可以使用订阅:
function Vm(){
this.aOb = ko.observable('a value');
this.a = this.aOb();
this.aOb.subscribe(function(newVal){
this.a = newVal;
}.bind(this));
}
相关文章:
- Web应用程序,将成员状态更新为其他成员
- React应用程序:道具在下一个事件后更新
- 如何让React JS点击处理程序在执行时更新DOM
- 在日期更改后更新Angular UI引导程序日期选择器选项
- HTML文件中的智能Javascript建议在Visual Studio代码更新后没有日志程序工作
- Web 驱动程序管理器更新错误:EACCES,权限被拒绝
- 原型js 如何使定期更新程序隐藏基于ajax响应的类元素
- Chrome扩展程序 - 页面更新两次,然后在YouTube上删除
- 引导程序 3 下拉列表不会更新
- 应用程序更新其网站
- 让NodeJS应用程序使用NPM进行自我更新
- Phonegap:灵活的iOS应用程序更新(无应用商店)
- Knockout Js的自定义绑定处理程序更新依赖项
- Facebook,通知用户我的应用程序更新
- 使用selenium网络驱动程序更新用户会话
- 为剑道调度程序更新/重新分配创建KO绑定处理程序
- 如何用程序更新可观察到的复杂淘汰赛
- 当用程序更新字段时,如何在更新时运行jquery函数
- Android应用程序-运行一次JavaScript函数,然后在应用程序更新之前不要再次运行
- 用程序更新哈希时禁用hashchange监听器(jQueryBBQ)