我目前的代码:
function config($stateProvider) {
$stateProvider.state('someState', {
views: {
'': {
templateUrl: 'my_root_template.html'
},
'someNestedView@someState': {
templateUrl: 'some_nested_view.html'
}
}
})
}
现在我只需从一个控制器打开模态对话框
function SomeControler(ModalService) {
...
return ModalService.openModal({
templateUrl: 'modal_dialog_template_where_root_template_will_be_injected.html',
controller: 'ModalController'
});
...
}
并在处理模态本身的控制器中进行状态转换
function ModalController($state) {
$state.go('someState')
}
我实际上不想做的事情。
我想要的只是在主菜单模板中使用ui-sref="someState"
打开模态并在模态对话框中继续使用此方法 - 使用someState
的子状态动态更改模态对话框的内容。所以,第一部分是可以实现的
function config($stateProvider) {
$stateProvider.state('someState', {
onEnter: onSomeStateEnter
})
}
function onSomeStateEnter() {
ModalService.openModal({
templateUrl: 'modal_dialog_template_where_root_template_will_be_injected.html',
controller: 'ModalController'
});
}
但是当我尝试添加一些视图
时function config($stateProvider) {
$stateProvider.state('someState', {
onEnter: onSomeStateEnter,
views: {
'': {
templateUrl: 'my_root_template.html'
},
'someNestedView@someState': {
templateUrl: 'some_nested_view.html'
}
}
})
}
它只打开模态对话框模板,但是视图被注入主页面(那里也是空的<ui-view/>
)。
我做错了什么?有任何想法吗? 提前谢谢!