<div class="companyTemplate" data-win-control="WinJS.Binding.Template" style="display: none">
<div class='templDiv'>
<h4 class='templText' data-win-bind="textContent: name"></h4>
</div>
</div>
在某些时候我需要更改模板的绑定。我怎样才能改变&#34; textContent:name&#34;绑定到&#34; textContent:地址&#34;使用javascript绑定?
答案 0 :(得分:0)
试试这个:
var theTags = document.getElementsByTagName('h4');
theTags[0].setAttribute('data-win-bind', 'textContent: address')
答案 1 :(得分:0)
如果按照Joel的建议修改HTML,则需要在包含元素及其数据源的位置调用WinJS.Binding.processAll来更新实际绑定。
也就是说,带有data-win-bind的声明性格式只是指示processAll如何使用WinJS.Binding.bind或数据源的bind方法(来自mixin)来设置实际关系。
前者WinJS.Binding.bind使用绑定描述符来设置任意源和目标之间的关系;实例绑定方法已经定义了源。
了解这一点,您可以使用其中一种绑定方法在运行时更改绑定。在这里描述它有点太多了,所以你最好的资源是查看Programming binding sample。我还在免费电子书的第313-315页讨论了这个主题, Programming Windows Store Apps with HTML, CSS, and JavaScript, 2nd Edition. (整章都是关于数据绑定的。)
您很可能希望跳过声明性HTML来设置初始绑定,并且只需从一开始就在代码中执行此操作。然后,您可以参数化该代码,以便在需要时将其提供给新的源属性。