3

私は AngularJS と Typescript を使用して Web アプリに取り組んでおり、コントローラーの定義に関して Typescript を利用する最良の方法を見つけようとしています。直感的にはコントローラは単なる TypeScript クラスですが、AngularJS ではすべてを $scope 変数に入れる必要があります。

AngularJS (1.1.5) の最新のアルファ リリースでは、新しい「controller as」構文が追加されました。この新しい構文は、Coffeescript や TypeScript などの言語との統合に役立つはずだと聞いたことがありますが、その方法がよくわかりません。TypeScript または CoffeeScript でこの新しい構文を使用するサンプルを誰かが持っている場合、またはそれがどのように行われるかについての洞察を提供できる場合は、大いに感謝します。

ありがとう!

4

2 に答える 2

3

はい、正常に動作します。MainController などのクラスを作成するだけです。次に、ビューで ng-controller='MainController as vm' を使用します。MainController クラスのすべてのプロパティが $scope.vm のメンバーになります

于 2013-05-30T03:42:35.967 に答える
1

これは、CoffeeScript クラスで私にとってうまくいったことです。

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

  someThings: ->
    @model.awesomeThings

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


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

私のplunkで完全な例を見ることができます。

于 2013-06-03T23:50:39.787 に答える