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

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

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

Ну и напоследок. Если у тебя проблема, которую ты не можешь решить, подумай о том, нужно ли вообще её решать и не кроется ли истинная проблема в причинах появления этой проблемы. Большинство проблем кроется в том, что все начинают использовать инструменты по-своему, а не так, как написанно в инструкции (или просто задумано разработчиком).
o7412369815963
ZZZ
И при этом ты выше рассказываешь о проблемах, которые, по твоему мнению, трудно решаются.
ZZZ
хотя на самом деле их больше – вот сейчас в одном из минимумов… :-)
Я просто устал от минимумов, я могу решить проблему, но я не хочу тратить на это время. aLight позволяет мне не тратить время.
o7412369815963
Вот кстати на хабре статью про bind-once написали (не я), когда в aLight есть “нативный” способ. ;)
http://habrahabr.ru/post/208768/
ZZZ
Но ведь уже есть bindonce. Т.е. этой проблемы в принципе не существует. :-)
o7412369815963
Можно, но оно не так удобно и выбивается из концепции биндингов в 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 в разы.
o7412369815963
o7412369815963
смогут выстроится в “линию” и отрабатываться за один проход
и тут же можно сделать какой-нибудь $partialDigest(), который будет обрабатывать только одну цепочку (если разработчик уверен что цепочка не изменится), например обрабатывать 10 вотчей, вместо 3000.
o7412369815963
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>

Но обычно таких глубоких запросов нет, чаще на один уровень, “имя боса”, “имя компании” и т.п.
А вы как обычно решаете подобные задачи в одно-страничных веб-приложениях?
o7412369815963
o7412369815963
Кстати есть задумка сделать такие директивы для биндингов в HTML, что-то типа:
Вот, наваял: http://habrahabr.ru/post/209108/ примеры и мотив.
Пол часа на прототип, час на бантики и куча времени на переписку, доки и прочую “ерунду”.
o7412369815963
Наткнулся на фреймворк vue.js, с подобным подходом - простой, с идеями из Angular.js и Knockout.js. И его так же разрабатывают в гугле. Видимо сами “гугловцы” не в восторге от Angular.js
Singularity
o7412369815963
а как тестировать приложения на angular ?
Пишем тесты для бекенда, потом пишем тесты для angular, потом тесты для проверки работы вместе? Может есть адекватное решения ?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB