0

我是 Javascript 世界的新手,正在做 Angular.JS。我编写了一个简单的 hello world 代码,在其中使用 ng-controller 为变量分配“Hello World”,并将值绑定到 HTML 中。

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

我的控制器是

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

当我运行代码并按预期正确显示“Hello World”时。出于好奇,我检查了背后的代码,并在 div 中期待“Hello World”,而是显示了我的 HTML 代码,其中包含 angular 指令。我在http://docs.angularjs.org/guide/concepts#startup
中阅读了文档,希望了解它为什么这样做,但我不确定我是否理解。 所以这是我的问题;我认为 HTML 是静态的,浏览器会按原样呈现 HTML。因此,如果我们需要创建任何动态的东西,我们会在创建最终的 DOM 对象之前评估值并通过 java 脚本将它们替换为实际值。理解错了吗?

4

2 回答 2

4

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

于 2013-03-29T17:41:39.870 回答
1

当您使用 Javascript 框架来操作页面时,这会在 DOM 或 HTML 加载后发生,因此您在视图源中看到的 DOM 仍然是来自服务器的。如果您使用的是 Chrome 和“检查元素”,您将在 Hello World 中看到最新的 html。

于 2013-03-29T17:40:06.987 回答