應該指出的是,我對Angular很陌生。如何獲得角JS模板中的相關對象?
我有以下的JSON我從Django的REST框架得到:
API /電影/ 1
{
"id": 1,
"name": "Mr & Mrs Smith",
"actors": [
1,
2,
]
}
API /演員/ 1
{
"id": 1,
"name": "Angelina Jolie",
}
API /演員/ 2
{
"id": 2,
"name": "Brad Pitt",
}
我拍了電影d遵循Angular教程的etail頁面,使用$ resource。 這是電影detail.component.js
angular.
module('movieDetail').
component('movieDetail', {
templateUrl: 'static/partials/movie-detail/movie-detail.template.html',
controller: [ '$routeParams', 'Movie',
function MovieDetailController($routeParams, Movie) {
var self = this;
self.movie= Movie.get({movieId: $routeParams.movieId})
}
]
});
在電影中的HTML模板,我必須通過「$ ctrl.movie.actors」獲得了「演員」的ID。但我無法弄清楚是否有辦法使用此ID來向服務器請求「actor」對象。類似於: Actor.get({id})將它們合併到影片詳情模板中。
TL; DR 我現在可以做什麼:
Actors:
<ul>
<ling-repeat="actor in $ctrl.movie.actors"> {{actor}} </li>
</ul>
結果:
演員
而且我想沿着線的東西:
Actors:
<ul>
<ling-repeat="actor in $ctrl.movie.actors"> {{actor.name}} </li>
</ul>
結果:
演員
- 安吉麗娜·朱莉
- 布拉德·皮特
這個如何實現?
謝謝你的回覆!
關於選項1:我可以在Django中嵌套序列化器來實現類似的JSON輸出,但我認爲它會使其他通話中的無用信息膨脹。我認爲只有在需要時才向服務器詢問這些數據會更好。 Option2看起來就像我想要做的一樣。你能舉出一個如何實現這個目標的例子嗎? – Curtwagner1984
另外,據我所知我使用Angular 1.5.7 – Curtwagner1984
我沒有發現角1.5。 1.5可能有組件選項。我認爲它是我的不好。對於第二個選項的實現,進行一次http調用以獲取所有電影,並且一旦完成,就會在循環中單獨調用以獲取所有演員的背景。當演員正在加載時,顯示演員字段下的加載符號。 –