0

刚开始学习 Win 8 应用程序开发,我正在关注数据绑定的基本教程。

我试图理解的代码是:

<div id="basicBinding">
          Welcome,
          <span id="nameSpan" data-win-bind="innerText: name"></span>
</div>

<script type="text/javascript">
var person = { name: "Fran" };
var personDiv = document.getElementById("nameSpan");
WinJS.Binding.processAll(personDiv, person);

我的理解如下,如果任何术语有误,我深表歉意。

脚本的第一行创建了一个名为“person”的变量,它是一个对象字面量,我们在其中存储了名称数据。

第二行创建变量“personalDiv”,该变量存储已绑定到 HTML 跨度元素“nameSpan”的数据。

脚本的第三行实际上处理了第一行和第二行,以便变量可用于其余代码。

我不明白的是 span 元素如何实际输出 Fran 的“名称”值。我不能完全弄清楚到底发生了什么让“data-win-bind”调用识别“person”变量并检索名称数据。'personDiv' 变量似乎在 nameSpan 甚至有一个值之前尝试从 'nameSpan' 中检索一个值(这显然是我只是错误地解释它,但我看不到正确的逻辑。

我敢肯定,鉴于它的初学者教程,我已经将它复杂化了一百万次,但任何帮助将不胜感激!

谢谢!

4

1 回答 1

2

data-win-bind只是一个普通的属性;它实际上并没有做任何事情。

当您调用 时WinJS.Binding.processAll(),它会查找具有该属性的所有元素并对其进行处理。

于 2012-11-06T22:39:58.340 回答