Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 11, 2014 21:36:12

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Angular Light

o7412369815963
Кстати хочу обратить внимание на слово “разобрался”, это значит что я знаю каждую запятую во фреймворке? или то что могу что-то более чем hello world?
Это, наверное, где-то четвёртый пик на твоей схеме, хотя на самом деле их больше – вот сейчас в одном из минимумов… :-)

o7412369815963
Но! я не использовал такие вещи как “constant, value, factory”, не пробовал ng-pluralize, angular.mock, $cookie. При этом ощущаю себя достаточно уверенно - могу сделать с ним “что угодно”.
И при этом ты выше рассказываешь о проблемах, которые, по твоему мнению, трудно решаются.

o7412369815963
Это считается что я с ним разобрался?
Ты сам ответил на свой вопрос. Ну как можно жить без factory, например? ng-pluralize я лично не пользовал, но я и не настоящий яваскриптер, а вот яваскриптер наш использовал. angular.mock – и в хвост и в гриву!
В общем, я, со своими голословными заявлениями, не далёк от истины. :-) Не в обиду, конечно! С тем же успехом можно писать на голом JS (ну максимум с JQ!) и говорить “ощущаю себя достаточно уверенно”.

Ну и напоследок. Если у тебя проблема, которую ты не можешь решить, подумай о том, нужно ли вообще её решать и не кроется ли истинная проблема в причинах появления этой проблемы. Большинство проблем кроется в том, что все начинают использовать инструменты по-своему, а не так, как написанно в инструкции (или просто задумано разработчиком).



Офлайн

#2 Янв. 11, 2014 21:47:52

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

ZZZ
И при этом ты выше рассказываешь о проблемах, которые, по твоему мнению, трудно решаются.
ZZZ
хотя на самом деле их больше – вот сейчас в одном из минимумов… :-)
Я просто устал от минимумов, я могу решить проблему, но я не хочу тратить на это время. aLight позволяет мне не тратить время.

Офлайн

#3 Янв. 12, 2014 09:49:16

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

Вот кстати на хабре статью про bind-once написали (не я), когда в aLight есть “нативный” способ. ;)
http://habrahabr.ru/post/208768/

Отредактировано o7412369815963 (Янв. 12, 2014 09:49:48)

Офлайн

#4 Янв. 12, 2014 12:48:48

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Angular Light

Но ведь уже есть bindonce. Т.е. этой проблемы в принципе не существует. :-)



Офлайн

#5 Янв. 12, 2014 14:36:10

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

Можно, но оно не так удобно и выбивается из концепции биндингов в HTML {{model | filter}}
Angular.js

<a bo-attr bo-attr-foo="'http://' + filter(link)" bo-text="'Hello ' + filter(user.name) + '!'"></a>
Angular Light
<a foo="http://{{=link | filter}}">Hello {{=user.name | filter}}!</a>

Кстати есть задумка сделать такие директивы для биндингов в HTML, что-то типа:
<a foo="http://{{mydir# link | filter}}"></a>
что-бы они были “управляемые”, только пока не знаю, найдут ли они применение.

Ещё есть такие задумки как “возможность задать свой набор директив для каждого scope”, или возможность задавать свой namespace для директив.

Так же ещё есть интересная задумка по оптимизации “$degest”, как вы знаете $degest обрабатывает вотчи начиная с $rootScope и идет вниз по дочерним, при этом если в дочернем вотч изменил модель и повлиял на родительский вотч, то дигест будет делать +1 проход по дереву.
Идея в том что вотчам можно задавать приоритеты/веса, например после срабатывания схемы выше у дочернего будет приоритет больше и в следующий раз он будет срабатывать перед родительским, что будет экономить на доп. проходах по дереву.
В итоге еслу у вас есть цепочка из вотчей, то они смогут выстроится в “линию” и отрабатываться за один проход. Это может ускорить $degest в разы.

Офлайн

#6 Янв. 12, 2014 15:40:23

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

o7412369815963
смогут выстроится в “линию” и отрабатываться за один проход
и тут же можно сделать какой-нибудь $partialDigest(), который будет обрабатывать только одну цепочку (если разработчик уверен что цепочка не изменится), например обрабатывать 10 вотчей, вместо 3000.

Офлайн

#7 Янв. 13, 2014 18:58:30

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

o7412369815963
Кстати есть задумка сделать такие директивы для биндингов в HTML, что-то типа:
Кстати как раз вчера понадобилось.

Сейчас у меня ссылочные поля работают так - что-б например достать имя компании боса пользователя:
<a href="?" bo-get="user.boss -> company -> name"></a>
bo-get - подкачивает недостающие объекты (с кешированием) и записывает нужное значение в html.
Для того что-б сделать подобное и записать в href - нужно директиву наследовать (или эту расширять). Некрасиво.

С управляемыми биндингами достаточно будет одной “директивы” и можно будет сделать как то так:
<a href="{{getter# user.boss -> company -> link}}">Компания боса {{getter# user.boss -> company -> name}}</a>

Но обычно таких глубоких запросов нет, чаще на один уровень, “имя боса”, “имя компании” и т.п.
А вы как обычно решаете подобные задачи в одно-страничных веб-приложениях?

Офлайн

#8 Янв. 14, 2014 23:16:39

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

o7412369815963
Кстати есть задумка сделать такие директивы для биндингов в HTML, что-то типа:
Вот, наваял: http://habrahabr.ru/post/209108/ примеры и мотив.
Пол часа на прототип, час на бантики и куча времени на переписку, доки и прочую “ерунду”.

Офлайн

#9 Фев. 9, 2014 15:50:52

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Angular Light

Наткнулся на фреймворк vue.js, с подобным подходом - простой, с идеями из Angular.js и Knockout.js. И его так же разрабатывают в гугле. Видимо сами “гугловцы” не в восторге от Angular.js

Офлайн

#10 Фев. 12, 2014 05:54:59

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Angular Light

o7412369815963
а как тестировать приложения на angular ?
Пишем тесты для бекенда, потом пишем тесты для angular, потом тесты для проверки работы вместе? Может есть адекватное решения ?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version