javascript - 创建服务时,$scope注入报错
阿神
阿神 2017-04-11 11:40:54
[JavaScript讨论组]
define(['app'], function(app){
    function HttpService($scope, $q, $http, appConfig){
        var url = appConfig.BASE_URL,
            ret = {ok: 0, data: {ok: 0}};

        function getA(){
            var deferred = $q.defer();
            deferred.resolve(ret.data); // 模拟请求成功
            return deferred.promise;
        }

       function getB(){
            var deferred = $q.defer();
            deferred.resolve(ret.data);
            return deferred.promise;
       };

        return {
            getA: getA,
            getB: getB
        }
    }
    return app.factory('HttpService', [
        '$scope',
        '$q',
        '$http',
        'appConfig',
        HttpService
    ]);
});

注入$scope,报错

干掉$scope,能正常跑


求解

阿神
阿神

闭关修行中......

全部回复(1)
迷茫

首先,你犯的错误是,HttpService里压根就没用$scope,注入她干嘛?给自己找不自在么^^?

其次,我假设你就是故意想注入$scope,虽不用,但想知道错在哪里。 那么我们先说factory,她本身是一种单例的存在,但$scope是么?看下面文档:

注意我选中部分,文档说一个angular应用只有一个rootScope,但可以有多个$scope,那么,既然HttpService是单例,那给他注入的$scope是谁?从哪里来?理解清楚为什么Controller里可以注入$scope很重要,再看文档:

注意我选中部分。

多读文档是好习惯哦:scope

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号