【问题标题】:Why HTML code behind still shows angular code instead of plain html?为什么后面的 HTML 代码仍然显示角度代码而不是纯 html?
【发布时间】:2013-03-20 11:03:57
【问题描述】:

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

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

我的控制器是

函数控制器($scope){ $scope.DisplayData = "你好世界"; }

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

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-05
        • 1970-01-01
        • 1970-01-01
        • 2019-04-01
        • 1970-01-01
        • 2020-01-09
        • 2018-03-11
        • 2020-02-25
        相关资源
        最近更新 更多