Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 angularjs服务使用$inject?_Javascript_Angularjs - Fatal编程技术网

Javascript angularjs服务使用$inject?

Javascript angularjs服务使用$inject?,javascript,angularjs,Javascript,Angularjs,在一个样板中,我找到了上面的代码。我没有什么疑惑: 为什么不像这样注入$http angular.module('MyApp').factory('Contact',function($http){}) 是否有必要将服务置于自执行功能中 首先,当您尝试最小化角度文件时,问题会出现。如果使用$inject,最小化程序可能会将$http转换为变量b,并且它们的标识仍将保留在字符串中,否则将出现错误 第二,当您使用自执行函数时,您隔离了服务的范围。这将有助于将所有文件合并到一个文件中。如果不这样做,

在一个样板中,我找到了上面的代码。我没有什么疑惑:

  • 为什么不像这样注入
    $http

    angular.module('MyApp').factory('Contact',function($http){})

  • 是否有必要将服务置于自执行功能中


  • 首先,当您尝试最小化角度文件时,问题会出现。如果使用
    $inject
    ,最小化程序可能会将$http转换为变量b,并且它们的标识仍将保留在字符串中,否则将出现错误

    第二,当您使用自执行函数时,您隔离了服务的范围。这将有助于将所有文件合并到一个文件中。如果不这样做,同名的变量或函数将产生错误

    这将在中进行更详细的解释

    希望它能帮上忙,因为如果缩小尺寸,它就不起作用了。看见2) 最好不要与
    符号接触
    
    (function() {
        angular.module('MyApp')
            .factory('Contact', Contact);
    
        Contact.$inject = ['$http'];
    
        function Contact($http) {
            return {
                send: function(data) {
                    return $http.post('/contact', data);
                }
            };
        }
    })();