Angular $ inject导致服务失败

时间:2016-01-14 18:12:09

标签: angularjs typescript

任何时候我的服务中都有$注入失败。我似乎无法找到错误。如果我在构造函数上注释掉inject和param,它就可以正常工作。

感谢

 module app.common {
 export interface IHelloService {
    sayHello(text: string): string;
    sayGoodbye(text: string): string
}
export class HelloService implements IHelloService {
   // lokiInst: Loki;
   // idbAdapter: LokiIndexedAdapter;
   // usersCollection: LokiCollection<starter.domain.User>;

    static $inject = ["$scope"];
    constructor(private $scope:ng.IScope) {

    }


    sayHello(text: string): string {
        return "hello" + text;
    };
    sayGoodbye(text: string): string {
        return "goodbye"+ text;
    };
}


angular.module("app.common", []);

angular
    .module("starter")
    .service("helloService",
    HelloService);
}

1 个答案:

答案 0 :(得分:0)

您无法从服务导入$scopeSee the docs on this point - 只有控制器才能访问此内容。

取决于您打算做什么(此代码不使用 $scope因此很难猜测),您可以导入$rootScope,或者{Hello 1}}应该是一个控制器而不是一个服务。