Comments 23
UFO just landed and posted this here
Не знаю как для новичков, но мне для закрепления полученных на практике знаний, в самый раз. Спасибо!
+3
Спасибо автору за перевод. Действительно, для закрепления знаний весьма полезно. Если вводная статья показалась пустой по содержанию, то, прочитав эту, буду следить за обновлениями.
Кстати, замечал, что использование $rootScope для хранения глобально-доступных данных немного ускоряет работу, в отличае от привызки к объекту window.
Кстати, замечал, что использование $rootScope для хранения глобально-доступных данных немного ускоряет работу, в отличае от привызки к объекту window.
0
Ну это потому что rootScope сама по себе уже внутри, а поскольку обычно говорят что хранить переменные в глобальной области window это «айайай» то вывод напрашивается сам собой.
PS. Можно поднять планку производительности ещё выше используя сервис через .factory, поскольку при inject'e возвращаться будет один и тот же самый объект. Считается что хранить что-то или обмениваться данными между контроллерами лучше всего так
PS. Можно поднять планку производительности ещё выше используя сервис через .factory, поскольку при inject'e возвращаться будет один и тот же самый объект. Считается что хранить что-то или обмениваться данными между контроллерами лучше всего так
0
Благодарю за наводку. Получилось что-то вроде этого:
module.factory('MySvc', function () {
var idx = [],
service = {
add: function (id) {
idx.push(id);
},
get: function () {
return idx;
}
}
return service;
});
0
service = {
Я бы вам не советовал инициализировать глобальную переменную.
0
Просто интересно, зачем оборачивать массив сверху объектом было? Можно же просто массив вернуть и не морочиться. Хотя если там ещё функций 20 для работы с ним, то тогда вопрос снимается автоматом :)
0
Вот это вообще гениальная вещь. завтра же поменяю синтаксис всех шаблонов на такой.
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('')
+2
А почему
А не сразу
?
var movie = new MovieService();
movie.update(/*data*/);
А не сразу
MovieService.update(/*data*/);
?
0
Потому что factory. Понял. Т.е. такой подход создает по одному объекту ресурсу на приложение. А если делать ресурсы через сервисы?
0
Тогда можно спокойно сразу писать как вы и хотели. Мне так даже кажется удобнее, особенно когда мне необходимо сделать extend сервиса для другой сущности (типично для crud приложений).
0
Я сейчас посмотрел. Я так и делал. Просто я пришел из Java в AngularJS. Мне пока непонятна разница между фактори и сервисом.
0
plnkr.co/edit/NKs7X5gVcZmlWN7uPBYN?p=preview А что тут не так <compose-email></compose-email>
Упростил шаблон — но все равно что -то не работает
Упростил шаблон — но все равно что -то не работает
0
plnkr.co/edit/pkqGZdkjChdyHb9ae2np максимально упростил и приблизил к примеру из статьи — все равно не работает
0
Разобрался…
Опечатка у Вас
.directive('composeEmail', composeEmail);
вот так надо. т.е. не controller, а .directiveОпечатка у Вас
0
Шаблоны Angular == Smarty для фронтенда.
С содроганием вспоминаю эпоху шаблонизаторов на бэкенде, теперь же те же грабли повторяем на фронтенде :(
С содроганием вспоминаю эпоху шаблонизаторов на бэкенде, теперь же те же грабли повторяем на фронтенде :(
0
Sign up to leave a comment.
Учебник AngularJS: Всеобъемлющее руководство, часть 2