我有通过knockoutjs进行数据绑定的项目模板
<script id="ItemTeamplte" type="text/html">
<div>some value: <span data-bind="text: someObj.someProp"></span></div>
</script>
,输出
<div>some value: <span data-bind="text: someObj.someProp">614</span></div>
如何省略
html输出中的data-bind =“text:someObj.someProp”
属性?
答案 0 :(得分:5)
您可以通过扩展绑定提供程序来完成此操作。这是一个简单的例子:
ko.bindingProvider.instance.getBindingsString = (function (originalFunc) {
return function (node, bindingContext) {
if (node.__savedBinding) {
return node.__savedBinding;
}
var binding = originalFunc.call(this, node, bindingContext);
if (binding && node.nodeType == 1) {
node.__savedBinding = binding;
node.removeAttribute('data-bind');
}
return binding;
}
})(ko.bindingProvider.instance.getBindingsString);
答案 1 :(得分:0)
不,这是不可能的,KO中没有功能来执行此操作。该属性就在那里,所以Knockout可以完成它的工作。
可能通过the source code获得运气,并修改(或修补)它以满足您的目的,但我也认为可能为了正确而痛苦。