Angularjs 无法打开带有角度和ui.routes的模式
我正试图遵循在特定状态下显示引导模式。它在没有模式的情况下工作正常(因此状态配置应该是ok)。所有需要的依赖项(即角度引导)都应该可用 当我在Angularjs 无法打开带有角度和ui.routes的模式,angularjs,angular-ui-bootstrap,angular-ui-router,Angularjs,Angular Ui Bootstrap,Angular Ui Router,我正试图遵循在特定状态下显示引导模式。它在没有模式的情况下工作正常(因此状态配置应该是ok)。所有需要的依赖项(即角度引导)都应该可用 当我在$model.open之前执行控制台.debug($stateparms)时,我在$model.open-方法中获得了正确的数据,但是返回了上一个状态的stateparms(我来自的状态) 有什么提示吗 编辑 有关国家: .state('publications.view', { parent: 'publications.productSele
$model.open
之前执行控制台.debug($stateparms)
时,我在$model.open
-方法中获得了正确的数据,但是返回了上一个状态的stateparms(我来自的状态)
有什么提示吗
编辑 有关国家:
.state('publications.view', {
parent: 'publications.productSelection',
url: '/{productSlug:[a-zA-Z0-9-]+}/{docID:[0-9]+}_{slug:[a-zA-Z0-9-]+}',
onEnter: ['restFactory', '$state', '$stateParams', '$modal',
function(restFactory, $state, $stateParams, $modal) {
console.debug($stateParams.docID);
$modal.open({
templateUrl: 'partials/publication.html',
resolve: {
publication: ['restFactory', '$stateParams',
function(restFactory, $stateParams) {
console.debug($state.params);
console.debug($stateParams);
return restFactory.view($stateParams.language, $stateParams.productSlug, $stateParams.docID);
}
]
},
controller: ['$scope', '$sce', 'publication', '$rootScope',
function($scope, $sce, publication, $rootScope) {
$rootScope.pageTitle = publication.data.data.publication.Publication.title;
$scope.publication = $sce.trustAsHtml(publication.data.data.publication.Publication.content);
}
]
});
}
]
});
您可以通过将当前的$stateParams注入到oneter函数中,将它们另存为某个服务中的状态,然后将该服务注入到您的模态解析中来解决这个问题 我正在从这里修改代码: 然后在应用程序配置部分
.config(function($stateProvider, $urlRouterProvider, modalStateProvider) {
modalStateProvider.state('parent.child', {
url: '/{id:[0-9]+}',
templateUrl: 'views/child.html',
controller: 'ChildCtrl',
resolve: {
role: function(Resource, modalState) {
return Resource.get({id: modalState.stateParams.id}).$promise.then(function(data) {
return data;
});
}
}
});
}
一些示例代码怎么样?控制台中有错误吗?没有。。嗯,是的,再想想。。解析路径缺少应该检索的stateParams中的ID,因此服务器返回一个错误,但没有JS错误或其他错误。一切看起来都很好-只是modal.open范围内的stateparms没有更新
.config(function($stateProvider, $urlRouterProvider, modalStateProvider) {
modalStateProvider.state('parent.child', {
url: '/{id:[0-9]+}',
templateUrl: 'views/child.html',
controller: 'ChildCtrl',
resolve: {
role: function(Resource, modalState) {
return Resource.get({id: modalState.stateParams.id}).$promise.then(function(data) {
return data;
});
}
}
});
}