我正在尝试使用Angular ui显示基于url的模式框。 我有三种状态 - 家庭,设置和基于设置状态的模态。
$stateProvider
.state('home',{
url:'/',
views: {
'content': {
templateUrl: 'views/partials/content.html',
controller: 'ContentCtrl'
}
})
.state('home.setting',{
url:'/setting',
views:{
'content@': {
templateUrl: '/views/partials/setting.html',
controller: 'SettingCtrl'
}
})
.state('home.setting.modal',{
url:'^/modal',
onEnter: function($state, $modal, $timeout, $stateParams, $location) {
if ($stateParams.id === "") {
return $location.path('/');
} else {
$modal.open({
templateUrl: 'views/modals/deepResultModal.html',
controller: "DeepResultCtrl",
}).result.then(function() {
}, function() {
return $location.path('/');
});
}
}
}
使用此代码,我不断得到这个
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.2.16/$injector/modulerr? p0=myapp&p1=Error%3A%….setting.modal'%0A%20%20%20%20at%20http%3A%2F%2Flocalhost%3A3000%2Fve...<omitted>...e)
我试过&#34; home.modal&#34; state而不是&#34; home.setting.modal&#34;,但它会删除父状态。
如何在不删除父状态的情况下显示模态框?我遵循了这个answer,我嵌套了像#34; home.setting.modal&#34;但它不起作用。
如果你可以帮助我,那就太好了!先感谢您!