如何在打字稿中定义angular1.3 +控制器?

时间:2015-04-19 07:02:00

标签: angularjs typescript angularjs-controller

在新版本的角度中你必须像这样定义控制器

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

如何通过TypeScript定义此代码?

1 个答案:

答案 0 :(得分:2)

控制器将类似于:

class myCtrl
{
  constructor( $scope )
  {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
  }
}

对于模块,它将类似于

module myApp{

    export class myCtrl{

     static $inject = ["$scope"];

        constructor( $scope: any)
      {
        $scope.firstName = "John";
        $scope.lastName = "Doe";
      }
    }
}

$ inject方法指定angular将在类构造函数中注入的参数。比如我们示例中的$ scope,您也可以注入服务等

现在您可以将其用作

angular.module('myApp', []).controller('myCtrl',myApp.myCtrl);