Показать сообщение отдельно
  #1 (permalink)  
Старый 26.05.2013, 22:51
Аватар для megaupload
Профессор
Отправить личное сообщение для megaupload Посмотреть профиль Найти все сообщения от megaupload
 
Регистрация: 18.01.2013
Сообщений: 1,098

Извините что создаю еще одну тему, но мне нужна помощь и ваше мнение
Короче синтаксис такой


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

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

оранжевым показаны айдишники модулей
зеленым показаны параметры конструктора модуля ^__^
голубым показаны обсерверы модуля
сиреневым показан айдишник виджета

Айдишники модулям нужны вот зачем



Как нам обратиться к внешнему модулю?

а вот так


как нам обратиться к глобальному модулю mouse который навешан на body??

а вот так


все глобальные модули имеют айдишник Global (с большой буквы для наглядности)


Зачем модулям нужны параметры? Ну вот пример:
первым аргументом принимает класс который будет присваиваться активный пунктам)




и еще кое что, ЭТО - один уровень и одна область видимости.



И немного по поводу обсерверов.

так работает обычный чат, в свойстве input хранит значение виджета input



Добавив туда какой нибудь модуль мы можем повесить на него обсервер и сделать даже так



Крута)?

Так пасоны, еще я разработал спецификацию обсерверов из 0.4

Всего существует 4 вида обсерверов.

1) свойство -> свойство
2) функция -> функция
3) функция -> свойство
4) свойство -> функция


1) свойство -> свойство
изменение свойства href модуля location засунет значение этого свойства в свойство active модуля slider и вызовет перерендеринг.




2) функция -> функция
вызов этой функции модуля menu (то есть если модуль menu или сам или кто-то вызовет эту функцию у себя) вызовет функцию next у слайдера, и первым аргументом передаст в неё то, что вернула функция onchange


3) функция -> свойство
вызов функции onchange модуля menu положит в свойство next слайдера то, что вернула эта функция


4) свойство -> функция
если свойство onchange сменит свое значение, то вызовется функция next и первым аргументом в неё передастся это значение.


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

вы научитесь разрабатывать модули так, чтобы все они имели четкие оговоренные интерфейсы. вы научитесь айдишники давать так, чтобы они везде соответствовали друг другу. (ко коко зависимость - нет блять ты просто не так мня понял) Я обьясню:



вот это вот



аналог этого


просто айдишники ставятся автоматически (да да, по этому запрещено использовать цифры если указываешь айдишник руками)

так вот, айдишник активного пункта меню хранится в свойстве active этого модуля то есть там в коде this.active = "2" например

так вот если мы делаем так



то айдишники раздаются так



и например если выбран пункт с айдишником home то в свойстве this.active = 'home'

так вот, я буду пилить стандартные модули по таким условностям и договоренностям, например если в модуле что-то переключается, то это будет храниться в свойства active, итемы иметь имя виджета item и.т.п.

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

Так вот, зачем это нужно спросите вы? А вот зачем)



ТАДААААААААААМ, слайдер переключается от пунктов меню)!!!

Последний раз редактировалось megaupload, 27.05.2013 в 12:23.
Ответить с цитированием