Knockout.js 无法使用Knockout 3.0的新预处理功能为绑定创建快捷方式

Knockout.js 无法使用Knockout 3.0的新预处理功能为绑定创建快捷方式,knockout.js,Knockout.js,因此,我想通过使用最新版本的Knockout 3.0创建一些快捷方式(如以下快捷方式)来节省一些在HTML中编写复杂绑定的工作: ko.bindingHandlers.shortcut = { //init: function() {}, //update: function() {}, preprocess: function(value, name, addBinding) { console.log(name + ': ' + value);

因此,我想通过使用最新版本的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>
按我
它不起作用。我做错了什么


您的示例只想在
名称
周围加引号,否则它会尝试提醒变量
快捷方式
,该快捷方式在绑定时不存在

比如说:

addBinding('click', 'function() { alert("' + name + '"); }');

可能他想用
value
而不是
name
.Duh。。谢谢你,我是认真的。