2016-09-26 50 views
0
<head> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js">    
    </script> 
</head> 
<body style="padding: 20px 20pc;"> 
    <div ng-app="app"> 
     <div ng-repeat="item in 'somewords'.split('')"> 
      {{$index + 1}}. {{item}} 
     </div> 
    </div> 
    <script type="text/javascript"> 
    </script> 
</body> 
</html> 

大家好,我已經試過尋找一些舊的帖子,但沒有發現任何可以真正幫助我的東西。 我正在學習Angular,並且在教程中他們使用這個代碼來計算和分割給定單詞中的字母。 我遇到的問題是,我得到大括號,就好像它們在HTML中的某些文本一樣。我究竟做錯了什麼?角度大括號不起作用,基本代碼

+0

你有任何控制檯錯誤? – devqon

+0

你有js文件嗎?你仍然需要啓動應用程序。 – TheFullResolution

回答

0

您有重複的問題。您應該使用track by來解決問題。

<div ng-repeat="item in 'somewords'.split('') track by $index"> 
     {{$index + 1}}. {{item}} 
</div> 

Here是一個codepen。另外here是一些文檔。

2

我看到一個ng-app="app",但我沒有看到任何代碼初始化模塊(名稱爲'app')。由於您不使用任何代碼中初始化的數據,因此您可以將其重寫爲<div ng-app>

另一種可能性是定義模塊(這你可能需要無論如何,如果你在教程中深入瞭解):

angular.module("app", []); 

編輯

由於@Peter_Fretter正確提到的,仍然不起作用,因爲你在ng-repeat中有重複。您可以修復使用的track by $index

<div ng-repeat="item in 'somewords'.split('') track by $index"> 
    {{$index + 1}}. {{item}} 
</div> 

this jsfiddle

+1

可能他沒有發佈JS文件。即使有了該模塊的聲明,代碼也無法工作。查看我的問題答案。 –