Gia*_*fra 4 angularjs angular-ui-router
我正在使用这台发电机.
我有我的用户模块:
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'));
Run Code Online (Sandbox Code Playgroud)
在我的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);
}
);
}
};
};
Run Code Online (Sandbox Code Playgroud)
我想在下一个与accessCtl相关的视图中使用该数据.我不想在我的URL中使用id并使用$ stateParams.
我的访问控制器是:
module.exports = function($scope, User, Member, $state, $rootScope, $stateParams){
console.log($state);
console.log($stateParams);
};
Run Code Online (Sandbox Code Playgroud)
在那个console.log中,我发现我的对象没有通过$ state.go传递.
Dan*_*har 10
您可以$ stateParams将数据传递到下一个视图.在目标路线中添加参数
$stateProvider
.state('utenti', {
url: '/utenti',
templateUrl: 'src/utenti/views/utenti.tpl.html',
params: { myParam: null},
controller: 'RegistrationCrl',
})
Run Code Online (Sandbox Code Playgroud)
将数据传递到下一个视图
$state.go("utenti",{myParam:{"data":"data"}})
Run Code Online (Sandbox Code Playgroud)
并在下一个控制器中获取数据
$scope.paramDetails=$stateParams.myParam;
Run Code Online (Sandbox Code Playgroud)