我從api接收電影類型的數字。這意味着,1 =動作,34 =戲劇,22 =恐怖......我想顯示流派名稱而不是數字。 movie.genre_ids的AngularJS用單詞替換整數數組
{{::movie.genre_ids}}
HTML輸出:[1,34,22]
應該是這樣的:恐怖動作戲......不帶括號&號
電影有多個流派,使有工作了。
在此先感謝
我從api接收電影類型的數字。這意味着,1 =動作,34 =戲劇,22 =恐怖......我想顯示流派名稱而不是數字。 movie.genre_ids的AngularJS用單詞替換整數數組
{{::movie.genre_ids}}
HTML輸出:[1,34,22]
應該是這樣的:恐怖動作戲......不帶括號&號
電影有多個流派,使有工作了。
在此先感謝
假設您有$範圍是這樣的:
$scope.genres = [];
$scope.genres[1] = 'Horror';
$scope.genres[34] = 'Action';
$scope.genres[22] = 'Drama';
$scope.movies = [
{title: 'IT', genres: [1,22]},
{title: 'Alien', genres: [1,34]}
]
你可以在視圖中像這樣
<div ng-repeat="movie in movies">
<b>{{movie.title}}</b>
<i ng-repeat="genre in movie.genres">{{($index > 0 ? ', ' : '') + genres[genre]}}</i>
</div>
爲了得到這樣的頁面
上IT驚慄,劇情
外星人恐怖,動作
如果你能夠映射格式化爲下面的格式,
$scope.mapping = {"1": "action", "2": "horror"};
您可以使用下面的代碼顯示輸出。
var app = angular.module('myApp', []);
app.controller('MyController', function MyController($scope, $filter) {
\t $scope.mapping = {"1": "action", "2": "horror"};
$scope.api = [1,2];
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-controller='MyController' ng-app="myApp">
<span ng-repeat="x in api">{{mapping[x]}} </span>
</div>
我可以在我現有的主要ng-repeat電影列表中使用這個嗎?我在哪裏放置{{:: movie.genre_ids}}? –
@KarlHusten是的,只要變量定義正確,如果您遇到問題,請提供示例數據的簡單提示!喜歡這個? ':: mapping [movie.genre_ids]' –
@KarlHusten檢查我的上述評論 –
可以初始化對象的一個靜態數組這樣
var movie.genre=[
{1:'Horror'},
{34:'Action'},
{22:'Drama'},
{56:'Comedy'},
.....
]
在你的HTML中使用的角度:
<span ng-repeat="id in movie.genre_ids">
{{movie.genre[d]}}
</span>
這似乎只是一個JavaScript問題。角度如何適應? –
尋找一個有角度的解決方案 –
你可以格式化你的輸出,所以它更清楚,以及? – theGleep