Javascript typescript控制器注册中的Angularamd

Javascript typescript控制器注册中的Angularamd,javascript,angularjs,requirejs,angular-amd,Javascript,Angularjs,Requirejs,Angular Amd,我正在使用typescript在angular和requirejs中建立一个站点。 我让它工作到可以异步加载控制器,并在保存控制器的作用域中设置变量: ///<reference path="./../typings/tsd.d.ts" /> import App = require("../Start"); App.application.app.register.controller("AppController",($scope: ng.IScope) => {

我正在使用typescript在angular和requirejs中建立一个站点。 我让它工作到可以异步加载控制器,并在保存控制器的作用域中设置变量:

///<reference path="./../typings/tsd.d.ts" />
import App = require("../Start");

App.application.app.register.controller("AppController",($scope: ng.IScope) => {
    $scope["vm"] = new AppController($scope);
});


class AppController {

    public test: string = "tedast";
    constructor(scope: ng.IScope) {

    }
}
在我的viewtemplate中,我可以像这样访问variabele测试

{{ vm.test }}
正如你所看到的,我不得不在所有东西的前面加上“vm”,这让我开始觉得有点效率低下。我想知道是否可以直接将typescript中的控制器绑定到视图,这样我就不必将其保存在作用域中并在其前面加上vm

我试图简单地:

<div ng-controller="AppController">
      {{ test }}
</div>

{{test}}

但这会引发一个错误,即一旦我的视图加载,它就无法找到appcontroller。

我知道它会在appcontroller类之后尝试注册您的控制器

///<reference path="./../typings/tsd.d.ts" />
import App = require("../Start");


class AppController {

    public test: string = "tedast";
    constructor(scope: ng.IScope) {

    }
}

App.application.app.register.controller("AppController",($scope: ng.IScope) => {
    $scope["vm"] = new AppController($scope);
});
///
导入应用程序=需要(“../Start”);
类AppController{
公共测试:string=“tedast”;
构造函数(范围:ng.IScope){
}
}
App.application.App.register.controller(“AppController”,($scope:ng.IScope)=>{
$scope[“vm”]=新的AppController($scope);
});
///<reference path="./../typings/tsd.d.ts" />
import App = require("../Start");


class AppController {

    public test: string = "tedast";
    constructor(scope: ng.IScope) {

    }
}

App.application.app.register.controller("AppController",($scope: ng.IScope) => {
    $scope["vm"] = new AppController($scope);
});