AngularJS + TypesScript =>控制器上的范围

时间:2015-08-17 12:36:56

标签: javascript angularjs typescript

我有一个关于AngularJS和TypeSscript范围的问题。

我已经中途进入这个项目并熟悉TypeScript。以前我直接在JavaScript中编写了所有AngularJS代码。

此应用程序的控制器和视图中发生异常。它不是将成员绑定在传递给构造函数的$ scope对象的作用域中,而是将它们直接放在Controller类本身上,如下所示:

module Wizard.Controllers {
    "use strict";

    export class LoginController extends BaseAppealController {
        static $inject = ["$q", "$scope"];

        private isInForgottenPasswordMode: boolean;
        private passwordSent: boolean;
        // other properties

        private scope;

        constructor($q: angular.IQService, $scope) {
            super($q);

            // other construtor-related activity
            this.isInForgottenPasswordMode = false;
            this.passwordSent = false;
        }

        // ..behaviours and views can interact with isInForgottenPasswordMode
        // and passwordSent as if they were on a $scope..
    }
}

使用AngularJS Batarang在视图上查看范围时,我可以看到LoginController的范围包含这两个属性 - inForgottenPasswordMode和passwordSent。

有人可以解释一下这是怎么回事吗?是否没有必要绑定范围?这是我对AngularJS错过的东西吗?

1 个答案:

答案 0 :(得分:1)

在角度1.4中,您可以使用$scope访问this值。

它用于启用Controller as语法。

你可以看看这个:

http://toddmotto.com/digging-into-angulars-controller-as-syntax/