Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Унылого треша тред (https://javascript.ru/forum/offtopic/47728-unylogo-tresha-tred.html)

melky 02.02.2014 12:04

поздравляю, ты придумал базовую вещь ;)

Maxmaxmaximus7 02.02.2014 12:18

при чем тут сарказм? то есть он был бы уместен, если бы такая очевидная вещь была бы в ангуляре или хотя бы где-то еще. не а тут при чем сарказм? у ангуляра один неймспецс ng- и все что родное лежит в нем, я же хочу создать логические неймспейсы, название которых бы говорило что к чему, on.событие data.данные ui.кнопка , а так же, как разделитель использовать точку, по схожести синтаксиса с яваскриптом.

например неймспейс fx добавляет эффекты элементу, и.т.п.


fx.fire=10 добавляет элементу огонь (рисует посерх него канвас на котором рисует огонь с силой 10) ну типа того.

неймспейсы омжно расширять, все дела.

tenshi 02.02.2014 14:13

Как ты предлагаешь биндить данные на атрибуты и на свойства?
Почему логика показа описывается в верстке?

Maxmaxmaximus7 02.02.2014 14:28

Цитата:

Сообщение от tenshi
Как ты предлагаешь биндить данные на атрибуты и на свойства?

так же как и ангуляр, тока скобки одинарные

Цитата:

Сообщение от tenshi
Почему логика показа описывается в верстке?

потому что в верстве описывается структура, это то место где мы все описываем и соединяем воедино, точки крепления css классов и лочки препления логики javascript. Так же датабинлинг подобного типа лучше так как позволяет к одному контроллеру использовать разные шаблоны, так же контроллеры независимы от шаблонов и могут работать самостоятельно.

В общем то же что и в ангуляре.

Maxmaxmaximus7 02.02.2014 15:16

tenshi, датабиндинг выглядит так:


Maxmaxmaximus7 02.02.2014 15:18

а фпизду, оставлю все 3 разделителя - . :

а сам буду использовать няшное двоеточие

melky 02.02.2014 15:19

Цитата:

Сообщение от Maxmaxmaximus7 (Сообщение 295334)
при чем тут сарказм? то есть он был бы уместен, если бы такая очевидная вещь была бы в ангуляре или хотя бы где-то еще. не а тут при чем сарказм? у ангуляра один неймспецс ng- и все что родное лежит в нем, я же хочу создать логические неймспейсы, название которых бы говорило что к чему, on.событие data.данные ui.кнопка , а так же, как разделитель использовать точку, по схожести синтаксиса с яваскриптом.

например неймспейс fx добавляет эффекты элементу, и.т.п.


fx.fire=10 добавляет элементу огонь (рисует посерх него канвас на котором рисует огонь с силой 10) ну типа того.

неймспейсы омжно расширять, все дела.

https://developer.mozilla.org/en-US/...getAttributeNS

похоже, так кто-то уже думал. только вот незадача - XHTML оказалось провальной идеей.

но вообще в правильном направлении идешь, продолжай

Цитата:

Сообщение от tenshi (Сообщение 295356)
Как ты предлагаешь биндить данные на атрибуты и на свойства?
Почему логика показа описывается в верстке?

контроллер, типа )

Maxmaxmaximus7 02.02.2014 15:54

Цитата:

Сообщение от melky
похоже, так кто-то уже думал. только вот незадача - XHTML оказалось провальной идеей.

но вообще в правильном направлении идешь, продолжай

ты о чем? при чем тут это то? =)

я говорю про неймспейсы директив а не про xml неймспейсы XD

по сути что такое неймспейс? он же везде есть, для него и программировать не надо ничего, берешь и называешь директивы по особому. но дело то не в этом, я хочу ЗАСТАВИТЬ людей использовать их. ui будет бросать исключение если хотя бы один не будет использован, в ангуляре есть только префикс ng, он ничего не значит и служит только префиксом означающим что щас используем не обычный атрибут или элемент, а какую то директиву. я же предлагаю использовать неймспейсы, любая директива ОБЯЗАНА быть в каком-то неймспейсе, например будет неймспейс on, в нем будут хранится директивы связанные с событиями. и когда человек увидет on:application_loaded='блабла' он сразу поймет чо это событие чего-то.

в ангуляре же ng:application_loaded='блабла' чел просто поймет что это директива, но что она делает ему придется гадать и искать её в коде и смотреть. задумка понятна? и второй заяц которого убиваем это префиксы =) то есть по скольку любая директива ОБЯЗАНА иметь неймспейс, не будет путаницы между нативными элементами и директивами.

Цитата:

Сообщение от melky
XHTML оказалось провальной идеей.

к слову, провальной она оказалась из за совместимости со старыми сайтами) не более, язык то хороший.

Maxmaxmaximus7 02.02.2014 16:19



кто еще не в курсе, ui приветствует распиздяйский но красивый стиль написания кода =)

1) не рекомендуется использовать точки с запятой, так как они не красивые
2) если не обьявлен var то переменная считается свойством контроллера, если обьявлен, то не считается
3) если идет приравнивание круглых скобочек, то считается что это формула, и вешается геттер, при обращении к которому значение формулы будет пересчитываться
4) сервисы доступны по умолчанию в любом месте кода контроллера, и их имена начинаются с бакса.
5) сервисы поддерживают ассинхронность, и если сервис поддерживает (а например встроенный сервис $http поддерживает) то после окончания запроса в поле в которое мы его присвоили (куда временно поместилась навидимая формула с промисом) поместится результат запроса.

Maxmaxmaximus7 02.02.2014 16:48

И еще ребят, вот тут уж точно с вами посоветоваться нужно, как лучше передавать параметры в директивы? Смотрите, вот в ангуляре там каждая директива принимает СТРОКУ и парсит её, выпарсивая из неё значения. она может воспринято эту строку как выражение и выполнить его через eval (так например события делают), может просто там какое-то слово подчерпнуть, число, и.т.п. НО СМОТРИТЕ, как сделать ДИНАМИЧЕСКИ ИЗМЕНЯЕМЫЕ ПАРАМЕТРЫ??


Допустим есть у нас директива fx:fire которая рисует тень из огня, и принимает она на вход 2 параметра, ширина огня и высота огня) ок.

Я хочу придумать способ как записывать эти параметры. Окей, все как записать и прочитать решает коечно директива и её код) но все же, я хочу придумать пиздатый стиль передачи параметров директивам.

Например можно сделать так fx:fire="10px 5px" по аналогии с css, но что если мы хотим динамически менять их? Тогда можно сделать так:

fx:fire="{panel.width + 10}px {panel.height + 5}px"

ок ок, но не кажется ли вам это как то тупо? вначале мы высчитываем значения выражений, подставляем их как строки в фигурыне скобки, получаем одну большую строку значения атрибута fx:fire потом передаем эту строку директиве fire и она ПАРСИТ её выдерая значения, и только потом уже применяет их. по моему как-то тупо, не проще ли сразу передать туда выражение?

типа fx:fire="panel.width + 10".

но вопрос, КУДА И КАК ПИХАТЬ ВТОРОЕ ЗНАЧЕНИЕ??? я короче придумал вот как делать, все что в значени атрибута оборачивается в квадратные скобки, получается массив =) это будет типа массив аргументов к директиве =) по аналогии с параметрами функции.

тогда становится гораздо проще описывать директивы, ни надо ни какого парсинга и прочего. если мы хотим, мы, внутри кода директивы, можем использовать тупо строковое значение директивы, еслиже хотм можем использовать массив аргументов (если все распарсено корректно то массив будет не пустой). Ну как вам идея?

Получается что мы сможем передать параметры директиве fire просто тупо через запятую, так, как будто мы функцию вызвали, и когда они изменятся директива автоматически об этом узнает.

грубо говоря мой вопрос в следующем, что более читабильно это или это?

fx:fire="panel.width + 10, panel.height + 5"

fx:fire="{panel.width + 10}px {panel.height + 5}px"


Часовой пояс GMT +3, время: 20:26.