在淘汰赛中,我需要从属性和值绑定配置文件并将其绑定到视图。我怎样才能做到这一点?
e.g。
<tbody data-bind="foreach: {data: data, as : 'tbData'}">
<!-- ko foreach: $parent.bindingProperties -->
<input type="text" data-bind="value:tbData.spec"/>
<!-- /ko -->
//some code
</tbody>
我需要阅读&#34;值:tbData.spec&#34;来自js文件。如何通过调用它来编写合适的JS函数并将其绑定到视图?
配置文件是js文件。配置文件就像
bindingProperties : [{'value': 'tbData.spec'}]
答案 0 :(得分:0)
我不确定你当前是如何加载配置文件的,但是如果你可以将其内容转储到一个observable中,那么你可以将它绑定到UI。我做了一个快速绑定,它将通过名称 - 值对手动应用其他绑定。这不是我之前使用的东西,所以它没有经过良好的测试,而且它肯定不仅仅是一个概念验证的强大功能。
ko.bindingHandlers.applyBindings = {
update: function(element, valueAccessor, allBindingsAccessor, data, bindingContext) {
var bindings = ko.unwrap(valueAccessor()) || {}; //should be an object with multiple properties like: { bindingName: propertyName }
for (var name in bindings) {
if (bindings.hasOwnProperty(name)) {
var binding = {};
var target = data[bindings[name]];
binding[name] = function () { return target; };
ko.applyBindingAccessorsToNode(element, binding, bindingContext);
}
}
}
}
这里有一个实际的jsFiddle:fiddle