Reputation: 161
<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>
Hi everyone, I've tried to look up for some old post already but found nothing that could really help me. I'm learning Angular and in a Tutorial they use this code that is supposed to count and split the letters in the word given. The problem I'm having is that I get the curly braces as if they where some text in HTML. What am I doing wrong?
Upvotes: 0
Views: 987
Reputation: 13997
I see a ng-app="app"
, but I don't see any code that initializes a module (with the name 'app'). Because you don't use any data that is initialized in any code, you can just rewrite it as <div ng-app>
.
The other possibility is to define the module (which you'll probably need anyway if you dive deeper in the tutorials):
angular.module("app", []);
EDIT
As @Peter_Fretter correctly mentioned, it will still not work, because you have duplicates in the ng-repeat
. You can fix that with using the track by $index
:
<div ng-repeat="item in 'somewords'.split('') track by $index">
{{$index + 1}}. {{item}}
</div>
See this jsfiddle
Upvotes: 2
Reputation: 1165
You have problems with the duplicates. You should use track by
to solve the issue.
<div ng-repeat="item in 'somewords'.split('') track by $index">
{{$index + 1}}. {{item}}
</div>
Here is a codepen. Also here is some documentation.
Upvotes: 0