2015-10-19 63 views
1

這更多是一個概念性問題。我有以下的HTML頁面:爲什麼數組在控制器中分配角碼?

的index.html

<!doctype html> 
<html ng-app="myApp"> 

    <head> 
     <title>Angular Page</title> 
     <script src="angular.min.js"></script> 
     <script src="app.js"></script> 
    </head> 

    <body> 
     <div ng-controller="myController"> 
      {{ greeting }} 
     </div> 
    </body> 

</html> 

用所有文件在目錄的根,我也有以下JS文件:

應用。 js

var app = angular.module('myApp', []); 
app.controller('myController', function($scope) { 
    $scope.greeting = "Hello"; 
} 

當這個運行時,我的cou rse在HTML頁面上收到問候語「Hello」。

然而,當我試圖追加的對象(爲一個未來NG-重複元件)連接到相同的控制器:

var app = angular.module('myApp', []); 
app.controller('myController', function($scope) { 
    $scope.greeting = "Hello"; 

    $scope.users = [ 
     { 
      "name": "Michael", 
      "industry": "Music" 
     }, 
     { 
      "name": "Michael", 
      "industry": "Boxing" 
     }, 
     { 
      "name": "Michael", 
      "industry": "Basketball" 
     } 
    ]; 
} 

的角結合被破壞,並且代替問候「你好」,我收到{{name}}表達式。 (這是有或沒有在'用戶'對象分配尾隨分號。)

是否有我的對象分配導致我的Angular代碼中斷?我不確定如何解釋發生了什麼。

+0

閱讀控制檯中的錯誤,解釋什麼是錯的。 – dfsq

+0

幾秒鐘後,{{name}}表達式是否更改爲「Hello」,或者整個時間都停留在那裏? – TimCodes

+0

@dfsq不能相信我沒有那樣做。這是使用SSH編輯JS文件時發生的情況。有一個拼寫錯誤,我沒有在黑色和綠色屏幕上捕捉。獎勵!請重新提交以獲得答案。 Salutations ... –

回答

1

@dfsq在某處幫助別人,所以他不能正確地獲得回答這個問題的功勞。

問題出在將一個數組對象插入到我的Angular'myController'後,雙向綁定在頁面上被打破了表達式。

我用納米從服務器上的命令行(SSH)來編輯該文件並不能很容易地看到該陣列

("key": "value") 

在密鑰值對中的一個有一個逗號,而不是一個結腸

("key","value) 

所以它被扔了以下錯誤:

Uncaught SyntaxError: Unexpected token , 

問題是,我可以使用瀏覽器上的開發者工具來檢查控制檯日誌。 @dfsq提出了這個建議,並且在查看控制檯日誌後,很容易看到拋出的錯誤以及確切地說哪一行拋出它。

再次感謝@dfsq

相關問題