我有一个数据绑定,里面有很多逻辑。目前我必须将它粘贴几个地方才能得到我想要的东西。我希望能够使它成为仅在一个地方的功能,最好是作为KO对象的方法。我需要移动的数据绑定是创建斜体计数文本的数据绑定。
data-bind="text: ($data.children)?($data.children.filter(function(e){return e.enabled()}).length + ' Children On'):('No Children')"
答案 0 :(得分:0)
您可以在主视图模型上创建一个函数,该函数返回ko.computed
并计算:
self.childrenCounter = function(data) {
return ko.computed(function() {
return (this.children) ? (this.children.filter(function(e) {
return e.enabled()
}).length + ' Children On') : ('No Children')
}, data);
}
然后你可以在模板中使用这样的内容:
<i data-bind="text: $root.childrenCounter($data)"></i>