1

我尝试将自定义服务直接添加到 ng 模块中

'use strict';
angular
    .module("ng")
    .service('getAQueryParameterByName', ['', function(){
        console.log("getAQueryParameterByName service active");
        this.getParameter = function(name){
            console.log("getParameter!");
        }
    }]);

结果,当我尝试通过这样做来运行服务时,getAQueryParameterByName.getParameter(var)我遇到了错误

ReferenceError: getAQueryParameterByName is not defined

通常这个错误是因为我没有注入服务,但是,我想,因为我将自定义服务直接注入到模块中,所以我真的不需要再次注入到控制器中吗?但是,无论如何我尝试再次将服务添加到控制器中,我收到了错误

 Error: [$injector:unpr] Unknown provider: Provider <-  <- getAQueryParameterByName

在这一点上我真的很困惑......我在哪里做错了?

4

1 回答 1

1

将您的定义更改为:

'use strict';
angular
    .module("ng")
    .service('getAQueryParameterByName', [function(){
        console.log("getAQueryParameterByName service active");
        this.getParameter = function(name){
            console.log("getParameter!");
        }
    }]);

虽然,我不建议扩展 ng 模块。就模块化架构而言,这应该被视为第三方。

于 2015-03-02T17:26:42.590 回答