我有一个用于翻译的自定义绑定:
ko.bindingHandlers.lang = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
this.lang = [
'text1':'text1 translated'
,'text2':'text2 translated'
];
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var keyword = valueAccessor();
var translatedString = this.lang[keyword];
$(element).text(translatedString );
}
};
我这样使用:
<span data-bind="lang:'text1'"></span>
但是,我还有一个用于创建表格行格式的绑定:
ko.bindingHandlers.tableRow = {
update : function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
$(element).html("<td>" + valueAccessor()[0] + "</td><td>" + valueAccessor()[1] + "</td>");
}
}
我这样使用:
<tr data-bind="tableRow:['text1','text2']"></tr>
对于这个问题:
现在我想组合这些绑定,这样我就可以像这样调用我的 tableRow 绑定:
<tr data-bind="tableRow:[lang:'text1','text2']"></tr>
上面的代码当然只是举例,实际上这些绑定中还有更多内容。
我已多次阅读文档并花了很长时间寻找解决方案,但找不到任何东西。也许是因为这做不到?