繁体   English   中英

kickout.js有一种方法可以将值绑定设置为bindingHandler中新创建的元素

[英]knockout.js is there a way to set value binding to newly created element in bindingHandler

我正在创建bindingHandler,它想在元素内部创建labelinput元素,并将新创建的输入值附加到viewModel中已设置的observable上。

但这比我想的要棘手,我无法弄清楚如何传递可观察值,因为我尝试的任何操作都会引发错误或将可观察函数绑定为字符串,这不是我想要的。

因此,我想知道如何实现此结果?

目前我正在传递这样的价值观

data-bind="input: {placeholder: 'Username', value: username, class: 'input'}"

我知道我可以通过创建模板来达到类似的结果,但是我想知道是否有办法做到这一点? 这会给我更大的灵活性。

淘汰赛展示了一个功能ko.applyBindingsToNode ,它ko.applyBindingsToNode您的需求。 创建input元素后,应按如下所示设置绑定:

ko.applyBindingsToNode(input, function() {
    return {
        value: valueAccessor().value
    };
});

从Knockout 3.0版开始,您还可以使用以下方法:

ko.applyBindingAccessorsToNode(input, {
    value: function() {
        return valueAccessor().value;
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM