Comments 15
UFO just landed and posted this here
Я вам больше скажу — есть js минификаторы, которые и без повторений все нормально понимают.
Например тот, что в yeoman есть — пакует как надо.
Например тот, что в yeoman есть — пакует как надо.
+2
Вы, видимо, про ngmin? Именно его и нужно бы использовать.
+3
Спасибо за то, что познакомил с этим модулем. Мне действительно этого не хватало.
Буду всегда благодарен за такие статьи-обзоры из мира AngularJS, к сожалению, сам не могу следить за темой.
Буду всегда благодарен за такие статьи-обзоры из мира AngularJS, к сожалению, сам не могу следить за темой.
+7
На TypeScript я делаю так:
В шаблоне можно определить через синтаксис as:
в системе роутов тоже (
Сервисы можно регистрировать точно также. Вот для дирeктив я не смог придумать изящного решения :(
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);
В шаблоне можно определить через синтаксис as:
<div ng-controller="TestCtrl as ctrl">
{{ctrl.field1}}
<button ng-click="ctrl.someMethod()"></button>
</div>
в системе роутов тоже (
controllerAs
)Сервисы можно регистрировать точно также. Вот для дирeктив я не смог придумать изящного решения :(
0
Я использую as-синтаксис и для coffeescript такой сахар:
И контроллер выглядит так:
В результате все зависимости доступны через this.
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: ->
В результате все зависимости доступны через this.
+1
Поднимите руки те, кто использует библиотеку классов или «надъязык» с классами, и еще не написал себе аналогичный базовый класс контроллера :)
0
При хорошей архитектуре контроллеры легкие даже в очень большом приложении. А использовать кучу раз $watch в контроллере это, вообще, что-то из ряда вон выходящее. $watch — очень редкая операция!
+2
попробовал эту библиотеку, код котроллеров стал вы глядеть немного красивей
однако приходится часто писать
однако приходится часто писать
0
Sign up to leave a comment.
Лёгкие контроллеры с Angular Classy