Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我怎样才能使这个函数小型化安全?_Javascript_Angularjs_Uglifyjs - Fatal编程技术网

Javascript 我怎样才能使这个函数小型化安全?

Javascript 我怎样才能使这个函数小型化安全?,javascript,angularjs,uglifyjs,Javascript,Angularjs,Uglifyjs,我明白了,这几乎是使控制器小型化安全的惯例 angular.module('myApp',[]) .controller('MyController',['myService',function(myService){ //用我的服务做点什么 }]);这应该有效,将两个函数变量移动到控制器中。如果这不起作用,您可能需要首先在主控制器函数中获取对“this”的引用:var vm=this然后使用vm.$q angular.module('myApp', []) .controller('MyCo

我明白了,这几乎是使控制器小型化安全的惯例

angular.module('myApp',[])
.controller('MyController',['myService',function(myService){
//用我的服务做点什么

}]);这应该有效,将两个函数变量移动到控制器中。如果这不起作用,您可能需要首先在主控制器函数中获取对“this”的引用:
var vm=this
然后使用
vm.$q

angular.module('myApp', [])
.controller('MyController', ['myService', '$q', '$injector', function (myService, $q, $injector) {
  // Do something with myService
  function redirectWhenLoggedOut() {
    return {
    responseError: function (rejection) {

        var $state = $injector.get('$state');
        var rejectionReasons =      ['token_not_provided', 'token_expired',
            'token_absent', 'token_invalid'
        ];
        angular.forEach(rejectionReasons, function (value, key) {
            if (rejection.data.error === value) {              
                localStorage.removeItem('user');                
                $state.go('main.login');
            }
        });

        return $q.reject(rejection);
  };
}]);

可能从重定向开始,$injector=['$q','$injector']
。这样您的方法参数就不会丢失。这样做似乎会使重定向WhenLoggeDout成为未定义的