Javascript 我可以使用新的';控制器组件';语法

Javascript 我可以使用新的';控制器组件';语法,javascript,model-view-controller,angularjs,coffeescript,typescript,Javascript,Model View Controller,Angularjs,Coffeescript,Typescript,我正在使用AngularJS和Typescript开发一个web应用程序,我试图找到在定义控制器时利用Typescript的最佳方法。直观地说,控制器只是一个TypeScript类,但AngularJS希望您将所有内容都放入$scope变量中 在AngularJS(1.1.5)的最新Alpha版本中,他们添加了一个新的。我听说这种新语法应该有助于与Coffeescript和TypeScript等语言集成,但我不太明白如何集成。如果有人有一个将这种新语法与TypeScript或CoffeeScri

我正在使用AngularJS和Typescript开发一个web应用程序,我试图找到在定义控制器时利用Typescript的最佳方法。直观地说,控制器只是一个TypeScript类,但AngularJS希望您将所有内容都放入$scope变量中

在AngularJS(1.1.5)的最新Alpha版本中,他们添加了一个新的。我听说这种新语法应该有助于与Coffeescript和TypeScript等语言集成,但我不太明白如何集成。如果有人有一个将这种新语法与TypeScript或CoffeeScript结合使用的示例,或者能够提供一些关于如何实现的见解,我将不胜感激


谢谢

是的,它很好用。只需创建您的类,例如MainController。然后在您的视图中使用ng controller='MainController as vm'。MainController类的所有属性都成为$scope.vm的成员这就是我使用CoffeeScript类的原因

class MainCtrl
  newThing: ""
  constructor: (@model)->

  someThings: ->
    @model.awesomeThings

  addThing: ->
    @model.addThing(@newThing)


app.controller 'MainCtrl', ['ThingService', (model)-> 
    new MainCtrl(model)
]

您可以在我的上看到完整的示例。

所以我所要做的就是创建一个名称与ng controller中的名称匹配的类,angular将调用它的构造函数?如果我在构造函数中放入$location和$log等参数,它们会被注入吗?@rob-yup。只需确保已加载生成的js。