2013-03-29 60 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。

相關問題