我是AngularJS的初学者(和JS一样),我遇到了以下问题。
这是html模板:
<ion-view view-title="Playlists">
<ion-content>
<ion-list>
<ion-item ng-repeat="playlist in playlists" ng-init="pageID=playlist.id" href="#/app/music/{{playlist.id}}">
{{playlist.title}} {{pageID}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
这是控制器:
.controller('MusicCtrl', function($scope) {
$scope.playlists = [
{ title: 'Reggae', id: 1 },
{ title: 'Chill', id: 2 },
{ title: 'Dubstep', id: 3 },
{ title: 'Indie', id: 4 },
{ title: 'Rap', id: 5 },
{ title: 'Cowbell', id: 6 }
];
$scope.$watch('pageID', function () {
console.log($scope.pageID);
});
{{pageID}}在页面上正确显示,但在控制台中,pageID未定义。我做错了什么?
答案 0 :(得分:4)
pageid在控制台中是undefined
,因为你没有在控制器中定义它,只是在ng-init中分配值。所以你可以在你的控制器中使用它,然后你就不会得到undefined
。
.controller('MusicCtrl', function($scope) {
$scope.pageID = 1;//just an example