Win 8应用程序开发:本教程代码如何工作?

时间:2012-11-06 22:38:13

标签: javascript

刚刚开始学习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 span elemet'nameSpan'的数据。

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

我不明白的是span元素实际输出Fran的'name'值。我无法确切地知道发生了什么,允许'data-win-bind'调用识别'person'变量并检索名称数据。 'personDiv'变量似乎尝试从'nameSpan'中检索一个值,之后nameSpan甚至有一个值(显然我只是错误地解释它,但我看不出正确的逻辑。

我确信,鉴于它的初学者教程,我已经过了一百万次了,但任何帮助都会非常感激!

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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