1
paramが動作しているルートを持っていましたが、いくつかの子ルートが追加されましたが、現在は更新されません。UIルータstateParamsが子ルートで更新されていません
イベントテンプレート
<a ui-sref="event.detail({id: event.id})" ng-repeat="event in events">
Event {{event.id}}
</a>
UIルータ
.state('event', {
url: '/event',
views: {
'event': {
template: ..., // shown above
controller: 'Event'
}
}
})
.state('event.detail', {
url: '/:id',
views: {
'event-detail': {
template: ...,
controller: 'EventDetail' // shows a single event
}
}
})
// tabs to switch between the different details
.state('event.detail.info', {
url: '/info',
views: {
'event-info': {
template: ...
}
}
})
.state('event.detail.map', {
url: '/map',
views: {
'event-map': {
template: ...
}
}
})
.state('event.detail.chat', {
url: '/chat',
views: {
'event-chat': {
template: ...
}
}
})
コントローラ
function EventDetail($scope, $stateParams) {
$scope.getEventDetails = getEventDetails;
$scope.getEventDetails($stateParams.id);
function getEventDetails(id) {
console.log(id); // returns correct first time, then nothing. Used to work every time!
...
}
}
を実行して
-
event/1
、右のイベントの詳細を取得します - から
Event 1
- URLが変更にクリックを一覧表示し
event/2
からEvent 2
- URLの変更をクリックして戻ったが、イベントの詳細が表示されます間違って起こっているの1
- 情報、マップやチャットタブをクリックし
event/2
からevent/1/info
へのURLの変更、event/1/map
とevent/1/chat
「イベント」状態とは何ですか?ショーは何ですか? –
質問のテンプレートはイベント状態によってレンダリングされます。すべてのイベントのリストを表示します。 – barro32
私はこれが起こっていること、あいまいなルートだと思います。 URL: 'event/detail/info'は' event/detail /:id'と 'event/detail/info'を通過します。したがって、あいまいです。 –