在Angular 1.x.x ES6中注入工厂

时间:2016-02-17 08:57:37

标签: javascript angularjs ecmascript-6

我使用的是Angular 1.x.x和ES6语法。

我有一个像这样的控制器:

    class BuilderController {  

        constructor(Auth) {
            this.foo = 'bar';
        }    

        create() {
            console.log(Auth); //this is undefined    
        }       
    }

    angular.module('myapp')
        .controller('BuilderCtrl', BuilderController);

我试图将Auth工厂注入我的控制器,但如果我在我的create()方法中控制日志Auth,则它是未定义的。

有人可以向我解释如何在角度控制器(班级)中真正注入工厂吗?

1 个答案:

答案 0 :(得分:2)

您应该将其用作关键字this的全局属性:

class BuilderController {  

    constructor(Auth = "default") {
        this.foo = 'bar';
        this.Auth = Auth;
    }    

    create() {
        console.log(this.Auth); //if Auth is undefined then "default" gets logged.    
    }       
}