当我在一个状态到另一个状态之间导航时,我想传递一个要在新状态下使用的对象。如何在不使用$rootScope
等全局对象解决方案的情况下执行此操作?另外我不想使用状态url参数。
基本上,我想做$state.go('myState', {some: 'thing'})
并且在控制器内部为“myState”我希望能够以某种方式到达传递的对象。
答案 0 :(得分:1)
我认为通过"两个州"你的意思是两个不同的控制器,每个控制器都可以通过不同的路径访问。
Angular建议使用服务,因为doc说:
Angular服务是连接在一起的可替代对象 使用依赖注入(DI)。您可以使用服务来组织和 在您的应用中共享代码。
答案 1 :(得分:0)
各州之间的意思是什么?如果您指的是控制器之间,那么您可以使用共享服务来保存数据。服务是单身,所以在页面的生命周期内都可以使用。
答案 2 :(得分:0)
您可以访问
中的状态参数.controller('ctrl',['$scope','$stateParams',function($scope , $stateParams ) {
$scope.getParams = function() {
console.log( $stateParams.some );
}
}
https://github.com/angular-ui/ui-router/wiki/URL-Routing#stateparams-service