我想将 AngularJS Expression
值传递给控制器。
HTML代码:
<div data-ng-controller="AlbumCtrl">
<div data-ng-repeat="z in songInfo">
<div data-ng-repeat="b in z.album">
{{b.tracks}}
</div>
</div>
<!-- Pagination -->
<div class="pageing">
<a class="prev" data-ng-disabled="currentPage == 0" data-ng-click="currentPage=currentPage-1">prev</a>
<a class="pageingg" href="#/song">{{currentPage+1}}/{{numberOfPages()}}</a>
<a class="next" data-ng-disabled="currentPage >= data.length/pageSize - 1" data-ng-click="currentPage=currentPage+1">next</a>
</div>
</div>
此处 {{b.tracks}}
是相册中曲目总数的 count
。我必须将此数据传递给控制器 ALbumCtrl
控制器:
.controller('AlbumCtrl', function($scope, $routeParams, $http) {
$scope.album_id = $routeParams.albumId;
$http.post('api-call.php', { albumid: $scope.album_id, evt: 13 }).success(function(data) {
$scope.songInfo = data;
});
//Pagination
$scope.currentPage = 0;
$scope.pageSize = 10;
$scope.data = [];
$scope.numberOfPages=function(){
return Math.ceil($scope.data.length/$scope.pageSize);
};
for (var i=0; i<AngularJS expression value; i++) {
$scope.data.push("Item "+i);
}
});
此处,控制器 AngularJS expression value
是我们必须获得的值。
任何帮助都会非常值得注意。感谢
答案 0 :(得分:0)
如果它只有一个值。然后你可以轻松地从控制器获取值,你不需要传递它。
尝试$scope.songInfo[0].album[0].tracks
像
这样的东西 for (var i=0; i< $scope.songInfo[0].album[0].tracks; i++) {
$scope.data.push("Item "+i);
}
答案 1 :(得分:0)
试试这两行,
var obj = JSON.parse($scope.songInfo);
var track = obj.root.tracks[0];