【发布时间】:2015-02-03 21:46:33
【问题描述】:
我是 ionic 框架和 angularjs 的新手。我试图了解列表项如何映射到 app.single。在其他示例中,我发现父“列表”状态使用“list.item”,但这对我不起作用(egghead.io tutorial)。
我正在使用带有sidemenu的基本离子应用程序。
有人可以解释一下吗app.single 如何映射到播放列表项?
播放列表.html:
<ion-view view-title="Playlists">
<ion-content>
<ion-list>
<ion-item ng-repeat="playlist in playlists" href="#/app/playlists/{{playlist.id}}">
{{playlist.title}}
</ion-item>
</ion-list>
</ion-content>
</ion-view>
播放列表.html
<ion-view view-title="Playlist">
<ion-content>
<h1>Playlist</h1>
</ion-content>
</ion-view>
controller.js
.controller('PlaylistsCtrl', 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 }
];
})
.controller('PlaylistCtrl', function($scope, $stateParams) {
});
app.js
.state('app.playlists', {
url: "/playlists",
views: {
'menuContent': {
templateUrl: "templates/playlists.html",
controller: 'PlaylistsCtrl'
}
}
})
.state('app.single', {
url: "/playlists/:playlistId",
views: {
'menuContent': {
templateUrl: "templates/playlist.html",
controller: 'PlaylistCtrl'
}
}
});
【问题讨论】:
-
你对我的回答有什么看法,@vikramaditya234?
-
sidemenu蓝图附带的样板离子代码有两个控制器,其变量名称几乎相同:“播放列表sCtrl " 和 "PlaylistCtrl" — 乍一看可能会让人很困惑。 Imo,如果有一个 PlaylistController 和一个 PlaylistItemController 会更清楚。事实上,这会更好:ItemListController 和 ItemDetailController。糟糕的命名真的会杀了你..