2013-03-29 114 views
0

我是JavaScript新手,做Angular.JS。我写了一个简单的hello世界代码,我使用ng-controller来为'Hello World'分配一个变量,并将该值绑定到HTML中。为什么后面的HTML代码仍然显示角码而不是纯HTML?

<div ng-controller="Controller">{{DisplayData}}</div> 

我控制器

功能控制器($范围){$ = scope.DisplayData的 “Hello World”; }

当我运行代码并正确显示'Hello World'时,正如我所料。出于好奇,我检查了后面的代码,并期待在一个div中的'Hello World',而不是显示我的HTML代码中有角度指令。
我在http://docs.angularjs.org/guide/concepts#startup上看到了文档,希望知道它为什么这样做,但我不确定自己能理解。
所以这里是我的问题;我认为HTML是静态的,浏览器呈现HTML。因此,如果我们需要创建任何动态的东西,我们会在创建最终的DOM对象之前,通过java脚本来评估值并将其替换为实际值。理解错误?

回答

4

当您使用JavaScript更改HTML页面时,实际上并没有更改页面的代码,而是通过读取后面的代码来创建一个名为DOM的内容。当您查看页面源代码或类似的东西时,您看到的将始终是浏览器从服务器获得的原始代码。大多数浏览器都有工具以文本形式查看DOM。例如,Chrome中的F12将提供开发工具。这会显示JavaScript操作的结果。

1

当您使用Javascript框架来操作页面时,这发生在DOM或HTML已经加载后,所以您在视图源中看到的DOM仍然保持它来自服务器。如果您使用的是Chrome和“Inspect Element”,您将会在Hello World中看到最新的html。

相关问题