Ответы пользователя по тегу Angular
  • Как сделать так, что бы ngRepet перерисовывал только измененные элементы?

    icelaba
    @icelaba
    Знаю и умею всё
    Он НЕ перерисовывает все элементы массива заново если вы делаете push.
    Достаточно глянуть в относительно простой код директивы, где большая часть кода как раз посвящена проверкам - был ли уже элемент в массиве.
    Ответ написан
    Комментировать
  • Как динамически загружать контроллеры в AngularJS?

    icelaba
    @icelaba
    Знаю и умею всё
    Вот статья с примерами на эту тему:
    weblogs.asp.net/dwahlin/dynamically-loading-contro...
    Правда рекомендую несколько раз подумать надо ли вам это на самом деле. Я на ангуляре написал невероятный объем кода и еще ни разу мне не был нужен динамическая загрузка - выбор контроллера, даже еслиб это мне было нужно, я бы выбрал нужный мне контроллер уже в теле шаблона ng-controller, предварительно подгрузив в resolve: свойстве route
    Так и код будет более читаем - сразу понятно кто куда где и как :-)
    Ответ написан
    Комментировать
  • Как лучше предоставлять данные директиве AngularJS?

    icelaba
    @icelaba
    Знаю и умею всё
    Так код понятнее my-dir data-my-text="myText" data-my-model="myModel"
    он уже подводит к мысли что директива непростая,
    меняет модель и тп.
    А раз код дает дополнительное знание или намек на это знание,
    то значит такой код лучше.

    В плане реюзабельности простых директив - очень часто они одноразовые - поэтому на эту тему я бы заморачивался меньше всего.
    Ответ написан
    Комментировать
  • Как лучше предоставлять данные директиве AngularJS?

    icelaba
    @icelaba
    Знаю и умею всё
    Вообще по best practices вся отправка и получение данных выносится в отдельные сервисы :-) я такие сервисы храню например в отдельной папке resources (не только я)
    Директива при определении в шапке указывает зависимость от этого сервиса
    angular.module('directive_mod_blabla', ['resources.blabla']).
    По похожему принципу сделаны эталонный https://github.com/angular-app/angular-app
    (взаимодействие чз client/vendor/mongolab/mongolab-resource.js)
    Дальше можно много слов про тестирование, angular way, бла бла, и тп но это можно и на сайте ангуляр почитать

    Не по best practice просто цепляете модулю зависимость от 'ngResource'
    передаете ['$resource', function($resource)
    и используете
    var blabla_resource = $resource('/blabla/:blabla_id', {blabla_id:'@blabla_id'})
    .....
    blabla_resource.get({blabla_id:blabla_id}).$promise
    .then(function(res){})
    Для кучи мелких задач такой подход ничуть не хуже
    Ответ написан
    Комментировать