Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
interface ITestScope extends ng.IScope{
}
class TestCtrl{
field1 : number;
static $inject = ["$scope", "$someService"];
constructor(private $ : ITestScope, private $someService){
// по сути $scope используется только для событий и watch (еще apply)
// данные и методы используются из инстанса контроллера
this.field1 = 1;
}
someMethod(){
this.field1 += 1;
}
}
app.controller("TestCtrl", TestCtrl);
<div ng-controller="TestCtrl as ctrl">
{{ctrl.field1}}
<button ng-click="ctrl.someMethod()"></button>
</div>
controllerAs)class ApplicationController
@inject = (dependencies) ->
@$inject = dependencies
@register = (module, controllerName) ->
module.controller(controllerName, @)
constructor: ->
_.each @constructor.$inject, (depName, depIndex) =>
@[depName] = arguments[depIndex]
class FooController extends ApplicationController
@inject [
"$scope"
]
@register(app, "FooController")
constructor: ->
super
dummy: ->
Лёгкие контроллеры с Angular Classy