我以某种方式误解了uirouter的工作原理。我无法弄清楚为什么以下代码无法按预期工作。直到“ modal_view”一切正常,但“ modal_view.child”没有显示我期望的位置?我在做什么错了?
我的路线结构是这样的:
$stateProvider
.state('app', {
url: '',
template: '<div><h1>This is my main State Template</h1><div ui-view="benefy_modal"></div><p>Some other content related to main view...</p></div>',
controller: 'MainController',
abstract: true,
})
.state('app.modal_view', {
url: '/modal_view',
views: {
'modal_view': {
template: '',
controller: ['$mdDialog', function ($mdDialog) {
$mdDialog.show({
scope: $scope.$new(),
template: '<md-dialog aria-label="modal"><md-dialog-content><ui-view>********expect "view1" to go here!*********</ui-view></md-dialog-content></md-dialog>'
});
}]
}
},
abstract: true
})
.state('app.modal_view.child', {
url: '/child',
views: {
'view1': {
templateUrl: '<p>view1</p>'
}
}
});