如何将控制器$ scope变量附加到ui-router中的$ state数据?

时间:2015-12-12 06:17:23

标签: angularjs angularjs-scope angular-ui-router angularjs-controller

在我的代码中,我想将 $ scope.requireLogin 值附加到 requireLogin 数据。我怎样才能在.state中找到这个?

.state('403', {
    url: '/403',
    templateUrl: '403.tmpl.html',
    controller: function($scope, $state, APP, Auth) {
        $scope.app = APP;

        $scope.goHome = function() {
            if(Auth.isAuthenticated()){
                $scope.requireLogin = true;
                $state.go('admin-panel.default.home');
            }
            else{
                $scope.requireLogin = false;
                $state.go('admin-panel.public.home');
            }
        };
    },
    data: {
        requireLogin: $scope.requireLogin
    }
})

有谁能告诉我这个方法?

2 个答案:

答案 0 :(得分:0)

您可以在控制器内执行此操作。

$state.current.data.requireLogin =$scope.requireLogin;

答案 1 :(得分:0)

而不是数据属性。使用params如params:{theKeyIWantToUse:null}当进入下一个状态时,使用$ state.go(" blaroute",{theKeyUsedInParams:theValue},而不是使用$ stateParams.theKeyUsedInParams来获取值。 p>