ui-view 요소의 이름을 지정하면 (예 : <div ui-view="player"></div>
) $ stateProvider 설정에서 타겟팅 할 수 있습니다.
.state('tabs', {
abstract: true,
url: '/tabs',
templateUrl: 'template.html',
controller: function($scope) {
$scope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams) {
$scope.currentTab = toState.data.selectedTab;
});
}
})
.state('tabs.player', {
url: '/player',
data: {
'selectedTab': 0
},
views: {
'player': {
controller: playerController
}
}
})
.state('tabs.map', {
url: '/map',
data: {
'selectedTab': 1
},
views: {
'map': {
controller: mapController
}
}
})
다음 $ stateProvider의 설정과
<md-tabs md-selected="currentTab">
<md-tab label="Player" ui-sref="tabs.player">
<div ui-view="player"></div>
</md-tab>
<md-tab label="Map" ui-sref="tabs.map">
<div ui-view="map"></div>
</md-tab>
</md-tabs>
당신은합니다 (currentTab 인덱스 및 업데이트) 각 ui-view
요소를 대상 수 : template.html에 다음과 같은 마크 업 주어진 그래서
,
이제해야 할 일은 입니다. playerController 및 mapController입니다. ui-view
에 부분 템플릿 등을로드 할 수 있습니다 (Multiple Named Views 섹션 참조).
흥미 롭습니다. 그것은 낭비적이고 해킹 된 방식으로 (그것을 제어 할 수있는 것은 아니지만) 보이지만 또한 그것을 수행하는 유일한 방법 인 것처럼 보입니다. 나는 그것을 시도 할 것이다. 엄청 고마워! – Seiyria
걱정하지 마라. 똑같은 문제와 이름의 견해가 내가 생각할 수있는 유일한 방법이었다. 그것이 당신을 위해 작동한다면, 당신이 대답을 받아 들일 수 있다면 좋을 것입니다. 감사! –
성공적으로 구현했습니다. 아주 좋은 대답이었고,'selectedTab' 설정에 대해 조금 감사드립니다. 처음에 혼란 스러웠습니다.하지만 그 페이지를 새로 고쳐서 저를 때렸습니다. – Seiyria