2016-09-26 44 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文件。即使有了该模块的声明,代码也无法工作。查看我的问题答案。 –