Как стать автором
Обновить

Комментарии 23

НЛО прилетело и опубликовало эту надпись здесь
Не знаю как для новичков, но мне для закрепления полученных на практике знаний, в самый раз. Спасибо!
Спасибо автору за перевод. Действительно, для закрепления знаний весьма полезно. Если вводная статья показалась пустой по содержанию, то, прочитав эту, буду следить за обновлениями.

Кстати, замечал, что использование $rootScope для хранения глобально-доступных данных немного ускоряет работу, в отличае от привызки к объекту window.
Ну это потому что rootScope сама по себе уже внутри, а поскольку обычно говорят что хранить переменные в глобальной области window это «айайай» то вывод напрашивается сам собой.
PS. Можно поднять планку производительности ещё выше используя сервис через .factory, поскольку при inject'e возвращаться будет один и тот же самый объект. Считается что хранить что-то или обмениваться данными между контроллерами лучше всего так
Благодарю за наводку. Получилось что-то вроде этого:

module.factory('MySvc', function () {
      var idx = [],
      service = {
          add: function (id) {
              idx.push(id);
          },     
          get: function () {
              return idx;
          }
      }
      return service;
});
service = {

Я бы вам не советовал инициализировать глобальную переменную.
Она разве глобальная в данном контексте?

var idx = [],
    service
пардон, не заметил запятую :)
Просто интересно, зачем оборачивать массив сверху объектом было? Можно же просто массив вернуть и не морочиться. Хотя если там ещё функций 20 для работы с ним, то тогда вопрос снимается автоматом :)
Не 20, конечно, но они есть или же «могут быть», поэтому привык к такому написанию.)
Вот это вообще гениальная вещь. завтра же поменяю синтаксис всех шаблонов на такой.

    template: [
      '<div class="compose-email">',
        '<input type="text" placeholder="To..." ng-model="compose.to">',
        '<input type="text" placeholder="Subject..." ng-model="compose.subject">',
        '<textarea placeholder="Message..." ng-model="compose.message"></textarea>',
      '</div>'
    ].join('')
Форма не может вернуться к состоянию $pristine без перезагрузки страницы.

Может :)
А почему
    var movie = new MovieService();
    movie.update(/*data*/);


А не сразу
    MovieService.update(/*data*/);

?
Потому что factory. Понял. Т.е. такой подход создает по одному объекту ресурсу на приложение. А если делать ресурсы через сервисы?
Тогда можно спокойно сразу писать как вы и хотели. Мне так даже кажется удобнее, особенно когда мне необходимо сделать extend сервиса для другой сущности (типично для crud приложений).
Я сейчас посмотрел. Я так и делал. Просто я пришел из Java в AngularJS. Мне пока непонятна разница между фактори и сервисом.
Ну если вобще вобще по секрету, то разницы нет никакой. Всё зависит от того что напихать в return.
Я тоже джавист а на js пишу для себя. Главное никогда не заблуждаться что в js есть классы и некое подобие ооп.
plnkr.co/edit/pkqGZdkjChdyHb9ae2np максимально упростил и приблизил к примеру из статьи — все равно не работает
Разобрался…
.directive('composeEmail', composeEmail); 
вот так надо. т.е. не controller, а .directive
Опечатка у Вас
Спасибо огромное. Вы очень помогли
Шаблоны Angular == Smarty для фронтенда.
С содроганием вспоминаю эпоху шаблонизаторов на бэкенде, теперь же те же грабли повторяем на фронтенде :(
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории