0

所以我現在剛開始進入angularJS,並且在測試之前事情都很好,直到我開始使用帶有ng-repeat的控制器。看來,當我使用它時,它只是不連接到控制器。AngularJS - 在使用控制器時停止工作

我檢查了一切。範圍很好,angular.js庫的位置很好,但由於某些原因,列表不會顯示。這甚至發生在一些複製粘貼示例中,因爲我將它們用於查看是否出現了錯誤,也使用了較舊版本的庫,效果相同,沒有任何內容放入列表中。

<html ng-app> 
<head> 
<script src="lib/angular.min.js"></script> 
</head> 
<body> 
    <div class="contrainer" ng-controller="SimpleController"> 
     <h3>Simple Controller Test</h3> 
     <br /> 
     Name: 
     <br /> 
     <input type="text" ng-model="name" /> 
     <ul> 
      <li ng-repeat="chara in characters"> 
       {{chara.name}} - {{chara.location}} 
      </li> 
     </ul> 
    </div> 
    <script> 
    function SimpleController($scope) { 

     $scope.characters = [ 
      {name: 'Link', location: 'Hyrule'}, 
      {name: 'Pit', location: 'Angel Land'}, 
      {name: 'Samus', location: 'Brinstar'} 
      {name: 'Takamaru', location: 'Japan'} 
     ]; 
    } 
    </script> 
</body> 
</html> 

回答

0

夫婦錯在這裏的東西:

1)定義你的列表時無效的語法。第三項後缺少逗號。

$scope.characters = [ 
     {name: 'Link', location: 'Hyrule'}, 
     {name: 'Pit', location: 'Angel Land'}, 
     {name: 'Samus', location: 'Brinstar'}, 
     {name: 'Takamaru', location: 'Japan'} 
    ]; 

2)您不是通過您選擇用來表示每個字符的名稱來引用字符。

<li ng-repeat="character in characters"> 
     {{character.name}} - {{character.location}} 
    </li> 
+0

確保您看看您的JavaScript控制檯,以便您自己調試這些項目(尤其是第一項)。 –

+0

啊,好吧,我明白了,是的,我正在改變很多東西,試圖弄清楚什麼是錯的,事情變得更糟。仍然沒有解釋粘貼示例中的副本,但是。我想我會自己研究一下。謝謝! –

+0

如果此問題解決了問題,請將其標記爲accepted –

-1

將ng控制器指令放在<li>標記中。

<ul> 
     <li ng-repeat="chara in characters" ng-controller="SimpleController"> 
      {{chara.name}} - {{chara.location}} 
     </li> 
    </ul> 
+0

控制器指令沒有問題。在這種情況下,你會錯過綁定到控制器範圍的ng-model指令。 –