我想简单地将html元素的textContent绑定到数据字符串。我要做的是:
<span id="currentDate" data-win-bind="textContent:Data.currentDateString"></span>
代码使用
定义名称空间数据WinJS.Namespace.define("Data", {
currentDateString: currentDateString,
});
其中currentDateString定义为:
var currentDateString = "Monday";
在页面的ready函数中,我调用了WinJS.Binding.processAll();.这会将HTML的内容设置为字符串。但HTML不会更改字符串的更改。我想我必须触发一些字符串确实改变的事件。我该怎么办呢?是否有一个简单的方法,因为有列表数据源的WinJS.Binding.List?
答案 0 :(得分:4)
您的对象需要是可观察的,您的属性在命名空间上定义的不是。
您的代码需要像这样更改:
WinJS.Namespace.define("Data", {
currentDate: WinJS.Binding.as({
asString: currentDateString,
}),
});
Data.currentDate.asString = "Another day!";
当赋值执行时,它将改变值。
还有其他可观察对象的助手,例如WinJS.Binding.define