【发布时间】:2015-03-21 09:04:26
【问题描述】:
我正在使用this generator。
我有我的用户模块:
require('angular/angular');
require('angular-ui-router');
angular.module('userModule', ['ui.router'])
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('utenti', {
url: '/utenti',
templateUrl: 'src/utenti/views/utenti.tpl.html',
controller: 'RegistrationCrl',
})
.state('access', {
url: '/access',
templateUrl: 'src/utenti/views/access.tpl.html',
controller: 'AccessCtrl',
});
}])
.controller('RegistrationCrl', require('./controllers/registrationLogin'))
.controller('AccessCtrl', require('./controllers/access'));
在我的 RegistrationCrl 中,我使用服务来创建新成员:
module.exports = function($scope, User, Member, $state, $location,$rootScope, $stateParams){
$scope.registration = function(form){
if(!form.$valid ){
console.log('input error');
return;
}
else{
console.log('valid form');
Member.create($scope.newMember,
function(data){
$state.go('access', data);
},
function(data){
console.log(data);
}
);
}
};
};
我想在下一个与 accessCtl 相关的视图中使用该数据。我不想在我的 URL 中使用 id 并使用 $stateParams。
我的访问控制器是:
module.exports = function($scope, User, Member, $state, $rootScope, $stateParams){
console.log($state);
console.log($stateParams);
};
在那个 console.log 中,我没有发现我的对象是通过 $state.go 传递的。
【问题讨论】:
-
你不能像传递
controller一样传递$state中的数据吗?.state('access', { url: '/access', templateUrl: 'src/utenti/views/access.tpl.html', controller: 'AccessCtrl', newData: 'whatever' });它适用于路线。 -
我已经阅读了相关内容,但我想念的是如何将注册的数据结果放入 newData 属性中,我应该在我的 registrationCrl 中写什么? $state.go('access', {newData:data} ?
-
哦,我误会你了。我以为您正在尝试将固定值传递给您的控制器。所以,我不知道。对不起。
标签: angularjs angular-ui-router