加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在$state angularjs中的控制器之间使用ui路由器传递对象

发布时间:2020-12-17 17:56:03 所属栏目:安全 来源:网络整理
导读:我正在使用 this generator. 我有我的用户模块: require('angular/angular');require('angular-ui-router');angular.module('userModule',['ui.router']) .config(['$stateProvider',function($stateProvider) { $stateProvider .state('utenti',{ url: '/u
我正在使用 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,$stateParams){
        console.log($state);
        console.log($stateParams);
    };

在那个console.log中,我发现我的对象没有通过$state.go传递.

解决方法

您可以$stateParams将数据传递到下一个视图.
在目标路线中添加参数

$stateProvider
    .state('utenti',{
        url: '/utenti',params: { myParam: null},})

将数据传递到下一个视图

$state.go("utenti",{myParam:{"data":"data"}})

并在下一个控制器中获取数据

$scope.paramDetails=$stateParams.myParam;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读