0

因此,我想通过使用Knockout 3.0中的最新预处理功能创建一些如下快捷方式来节省一些在 HTML 中编写复杂绑定的工作:

ko.bindingHandlers.shortcut = {
    //init: function() {},
    //update: function() {},
    preprocess: function(value, name, addBinding) {
        console.log(name + ': ' + value);
        addBinding('click', 'function() { alert(' + name + '); }');
    }
};
ko.applyBindings();

并像这样使用它:

<button data-bind="shortcut: 'hey!'">Press me</button>

它不起作用。我究竟做错了什么?

http://jsfiddle.net/cQvn9/3/

4

1 回答 1

1

您的示例只想在 周围加上引号name,否则它会尝试对变量 发出警报,该变量shortcut在绑定时不存在。

所以,比如:

addBinding('click', 'function() { alert("' + name + '"); }');
于 2013-11-13T21:00:22.853 回答