我最近开始使用 HTML/CSS/JS 开发 Win8 应用程序。两周后出现了一个关于与 WinJS 进行数据绑定(bind)的问题:
是否有可能通过 WinJS 执行数据绑定(bind),就像使用 WinJS 一样强大? knockout.js(WinJS 能做 knockout 能做的所有事情吗)?
如果是这样,我将如何仅使用 WinJS 从敲除中执行 ko.applyBindings()
?
最佳答案
虽然“一样强大”是相当主观的,但 WinJS 有一个非常 capable binding引擎。它不一样,但与 Knockout 有一些共同之处。它在某些方面与以前称为 Microsoft ASP.NET Ajax 库的部分细节相同。
这是他们的例子之一:
<div id="boundDiv" data-win-bind="innerText: age"></div>
<script type="text/javascript">
var person = { age: 0 };
var span = document.getElementById("boundSpan");
WinJS.Binding.processAll(span, person);
var bindingPerson = WinJS.Binding.as(person);
setInterval(function () {
changeAge(bindingPerson);
}, 500);
function changeAge(p) {
p.age++;
};
</script>
每 500 毫秒,div
将更新以反射(reflect)人
的新年龄
。由于它利用了 ECMAScript 5 的对象属性 getter 和 setter,因此可以轻松跟踪年龄的值,然后在 div
中更新。
关于javascript - 使用 WinJS 进行数据绑定(bind)与使用 Knockout 一样强大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19620539/