я надеюсь, я НАДЕЕЕЮСЬ, МОЛЮ БОГА ПРОСТО ЧТОБЫ ВЫ просто пытались троллить щас а не всерьез все это говорили =) Мне не хочется верить что модератор сайта javascript.ru не знает правил авторасстановки точек с запятой :(
|
Цитата:
я об этих, окончание строки |
Дзен-трансгуманист, красавчик, спасибо. Это я не доделал сервис $parse в щедящем режиме он не должен бросать эксепшены. ща пофиксим
|
Цитата:
пофиксил: <script src='//mychamber.ru/build/ui.js'></script> {qwe} и {.qw fd df в вва + {ds:3} e} и {qwe} <script>qwe = 1</script> |
Цитата:
|
Дзен-трансгуманист, потому что
1) функции в выражениях не должны иметь побочных эффектов так как они нужны тока для дата биндинга. 2) выполняется 2 прохода так после выполнения этого кода могло изменится состояние $scope и тогда надо вызвать повторный рендеринг. это называет TTL тайм ту лив =) ui как минимум выполнит все ватчеры по 2 раза и будет повторять этот цикл перепроверок пока $scope не перестанет изменяться или пока количество итераций не превысит TTL который по умолчанию равен 10. А вообще мне кажется это тупо и наверное я это уберу так как одного раза вполне хватает, я этого понахватался у ангуляра. Это типа автоматический вызов рендеринга, если одно изменение вызвало другое изменение то перерендерить автоматически. Но у меня теперь есть такое понятие как формулы и FRP так что такие костыли мне наверное уже и не нужны) так что я наверное вообще запрещу вызывать функции в выражениях. |
у батьки это делается так
<script src='//mychamber.ru/build/ui.js'></script> <div controller="Ctrl" click="push()"> {length} </div> <script> function Ctrl() { var arr = [1, 2, 3, 4, 5] push = function() { arr.push(200) } length = (arr.length) // формула } </script> в ангуляре это делается так: <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script> <div ng:app ng:controller="Ctrl" ng:click="push()"> {{length()}} </div> <script> function Ctrl($scope) { var arr = [1, 2, 3, 4, 5]; $scope.push = function() { arr.push(200) }; $scope.length = function(){ return arr.length }; } </script> |
Всем спасибо большое, пофиксил =)
<script src='//mychamber.ru/build/ui.js'></script> {qwe} {.gdgh + {fd:5} + f = 435 fd' g' dfg'df 'gdf' {} DFHG "'"'<>DS} {qwe} <script>qwe = 11</script> |
Цитата:
|
И кому интересно по поводу "КОКООК У ТЕБЯ НЕТ ПРЕФИКСОВ ДОБАВЯТ НВОЫЙ АТРИБУТ И ВСЕ СЛОМАЕТСЯ КОКОКО11111"
Я не идиот чтобы гороздить ng- (ну или в моем случае ui-) через каждые 2 слова. НУ НЕТ в этом смысла! Нет и все! Люди куда чаще используют директивы чем атрибуты по этому логично добавлять префиксы АТРИБУТАМ а не директивам! Не понимаю, неужели это не очевидно??? Почему все эти быдлоразработчики живут как бы в своем воображаемом мирке и не хотят жить в реальности?????????? К примеру если у нас есть директива type и атрибут type то мы должны записать так, и после компиляции оно: ![]() |
Цитата:
|
Цитата:
|
Максимус на кой хрен ты type удалил у элемента. Точнее один type заменил другим. Я вдруг я по атрибуту type захочу устроить, если я его написал то как минимум я его планирую увидить в html.
|
DjDiablo, стоп, ты видимо не понял как оно работает я распишу. Есть 2 вида атрибутов, ui атрибуты и native атрибуты. ui атрибуты делают какое-то действие, ну короче это кастомные атрибуты созданные человеком или встроенные в ui. например ui-repeat ui-controller.
native атрибуты это родные атрибуты например class type title и.т.п. нативные атрибуты пишутся с префиксом native, юишные атрибуты пишутся с префиксом ui. После компиляции у нативных атрибутов удаляется префикс а у юишных остается. Вопрос, что делать с атрибутами не имеющими префикса? Оч просто, если директива с таким именем есть, то этот атрибут превращается в ui атрибут и к нему добавляется префикс ui. Если такой директивы нет то это обычный атрибут. ![]() ИНЫМИ словами native можно вообще не писать ^_^ просто тогда вы рискуете что какой-то долбоеб создаст директиву с таким именем, а раз префикса нет то приоритет отдастся ей а не обычному атрибуту =) но я думаю это уже на вашей совести, с другой стороны человек может подключить модуль где 400 новых директив и имена их не знать =) короче я думаю лишним не будет. но оно нужно если вы хотите провернуть трюк с одноименным атрибутом и ui и обычным. Теперь, что с кодом? А все то же: ![]() |
с какого я должен как то извращать стандартные атрибуты чтобы твой UI их не слопал?
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Кстати, я не могу понять, зачем нужен шаблонизатор на клиенте, а не на сервере? Я наверное чего то не понимаю, поэтому объясните в чем профит)
|
Цитата:
|
Цитата:
|
Цитата:
|
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Ладно, я понял, как только появится время нужно попробывать написать что то на агуляре, и посмотри в чем фишка.
|
cyber, да тут дело не в ангуляре, они просто облегчают этот процесс. Так то можешь и руками все запилить =) ты просто сказал шаблонить на клиенте или на сервере, вот тебе и сказали в чем разница.
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
2) Это удобно, т.к. нет каши в коде JS со строками. 3) Это быстро. 4) Уменьшение гоняемого между клиентом и сервером трафика. 5) Это даёт возможность писать "оффлайн" веб-приложения. 6) Облегчение работы серверу. |
7) да и в целом архитектура боле логично, сервер должен заниматься серверованием и обслуживанием а клиенты должны рисовать на экран что-то. шаблоны это часть ui то есть часть того что будет рисоваться, сервер вообще не должен ничего об этом знать. Тогда к серверу можно будет подключить и андройд и хуёйд и флеш и другой сервер и декстоп и все что угодно.
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
И так действие с шаблонизатором: 1. получаем элемент списка через AJAX; 2. отдаем шаблонизатору, он его добавляет. Действия без шаблонизатора: 1. получаем элемент списка через AJAX; 2. Добавляем через appendChild (к примеру). И? |
Цитата:
|
Короче, я понял нужно садиться и ковырять шаблонизатор)
|
Цитата:
|
Часовой пояс GMT +3, время: 02:09. |