02.05.2015, 17:19
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
То что ты назвал компонентом - это совсем не компонент, а просто темплейт.
Компонент это такая штучка, которая обьединяет в себе кучу директив и вообще какой то шаблонный блок, но при этом изолирована от внешней области видимости. (параметры туда передаем либо сервисом либо атрибутами)
Цитата:
|
ПС: атрибуты мусор! Особенно какие-нибудь левые типа ng- , я уж молчу про ui-, да и data- шлак левый, но что уж поделать, сделали по просьбе ламеров..
|
Не совсем с тобой согласен. Если смотреть со стороны обычного mvc, то да, контроллер сам должен знать всю инфу и расшаривание парметров в _статичное_ представление - костыль.
Но в mvw ты _конфигурируешь_ атрибутами viewModel эти атрибуты привязывают то или иное состояние представления к конкретному значению модели. А то что остается немного шлака от нагенеренного т.к это фигня.
__________________
Научу себя плохому
|
|
02.05.2015, 17:23
|
Профессор
|
|
Регистрация: 24.04.2015
Сообщений: 183
|
|
Gozar, но ведь разметка и состоит из элементов и атрибутов. ты утверждаешь что атрибуты это мусор? я так и не понял почему.
ты сказал что они ни чего полезного не привносят, но они привносят полезный функционал. или не привносят его? например ui-scrollbar добавляет красивый скроллбар. или не добавляет? data-repeat итерирует элемент, или не итерирует? on-click вешает обработчик события. или не вешает? или данный функционал не полезный?
Сообщение от l-liava-l
|
То что ты назвал компонентом - это совсем не компонент, а просто темплейт.
|
то что я назвал компонентом это компонент а вовсе не темплейт. ты все напутал потому что невнимательно смотрел.
Сообщение от l-liava-l
|
Компонент это такая штучка, которая обьединяет в себе кучу директив и вообще какой то шаблонный блок, но при этом изолирована от внешней области видимости.
|
да
Последний раз редактировалось UIjs, 02.05.2015 в 17:26.
|
|
02.05.2015, 17:27
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
Если я правильно понял, то преимущество Dispatcher'а в том, что в case'ах можно добавлять не один AppStorage.add(data.params), а множество обращений к хранилищу, так?
|
Dispatcher нужен для того чтобы вызывать экшены не только в какой то последовательности, но и делать подписку на обновление других компонентов. Если понятно выразился канеш
__________________
Научу себя плохому
|
|
02.05.2015, 17:34
|
|
Профессор
|
|
Регистрация: 23.12.2013
Сообщений: 1,856
|
|
l-liava-l,
не совсем понятно, ведь подписку на обновление осуществляет сам компонент в componentDidMount(). Можно пример, так будет гораздо понятнее, наверно)
|
|
02.05.2015, 17:37
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
то что я назвал компонентом это компонент а вовсе не темплейт. ты все напутал потому что невнимательно смотрел. компонент это когда мы компануем много чего-то в одно. пересмотри видео внимательно и впредь будь внимательнее.
|
Што да, "твой компонент" зависит от верхнего контроллера потому что в атрибуты передал какие-то параметры, но не обернул это все.
На примере:
//page.html
<div ng-controller="Ctrl as vm">
<ng-include src="'./tpl.html'"></ng-include>
</div>
//tpl.html
<button ng-click="vm.doSomething()"></button> //у кнопки обработчик - в верхнем контроллере, поэтому это темплейт
А это уже компонент
//page.html
<div ng-controller="Ctrl as vm">
<super-btn-pack size="'small'" resolve="vm.handler()"></super-btn-pack>
</div>
//super-btn-pack - директива имеющая свой контроллер, но не обязательно, главное что изолированная
<button ng-click="doSomething1()"></button>
<button ng-click="doSomething2()"></button>
<button ng-click="doSomething3()"></button>
__________________
Научу себя плохому
|
|
02.05.2015, 17:45
|
Профессор
|
|
Регистрация: 24.04.2015
Сообщений: 183
|
|
Сообщение от l-liava-l
|
Што да, "твой компонент" зависит от верхнего контроллера потому что в атрибуты передал какие-то параметры, но не обернул это все.
|
че ты несешь? компонент состоит из 3 сущностей, стиля, шаблона, и логики. данный компонент не содержит стилей ни логики а только шаблон. включи мозг маленько? ты основ даже не знаешь а еще со мной соприть берешься, не забывай мой уровень и свой! если что-то непонятно СПРАШИВАЙ, но не спорь, не тот уровень. Тут только kobezzza со мной на равных может разговаривать, и более того даже что-то новое говорить. Остальны в резком отрыве. Так что чтобы сэкономить время не выежывайся а просто спрашивай что непонятным показалось.
|
|
02.05.2015, 17:47
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
l-liava-l,
не совсем понятно, ведь подписку на обновление осуществляет сам компонент в componentDidMount(). Можно пример, так будет гораздо понятнее, наверно)
|
Ты подписываешься на обновления в диспетчере и там же ты можешь указать в каком порядке будут вызываться обработчики (а рассылает он всем) и есть возможность выполнить определенное событие только после того как пришло какое то другое (ну как бэ режим ожидания)
Вот тут все подробно описано елси не читал:
http://habrahabr.ru/post/246959/
__________________
Научу себя плохому
|
|
02.05.2015, 17:48
|
Профессор
|
|
Регистрация: 24.04.2015
Сообщений: 183
|
|
l-liava-l, тебе не понятно почему я свой компонент называю компонентом? или что? обьяснять?
обьяснение для новичков: много чего-то компануем в что-то одно, называется компонент. мы скомпоновали элемент с кучей атрибутов в что-то одно под именем my-div. my-div - компонент. я достаточно подробно обьяснил или тебе тоже видео пилить?
|
|
02.05.2015, 17:53
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
че ты несешь? компонент состоит из 3 сущностей, стиля, шаблона, и логики. данный компонент не содержит стилей ни логики а только шаблон. включи мозг маленько? ты основ даже не знаешь а еще со мной соприть берешься, не забывай мой уровень и свой! если что-то непонятно СПРАШИВАЙ, но не спорь, не тот уровень. Тут только kobezzza со мной на равных может разговаривать, и более того даже что-то новое говорить. Остальны в резком отрыве. Так что чтобы сэкономить время не выежывайся а просто спрашивай что непонятным показалось
|
О всеведующий, не бомбите.
Цитата:
|
стиля, шаблона, и логики.
|
Это всем ясно что должны быть стиль шаблон и логика, но всю логику управления моделью ты описываешь где? в контроллере странички/верхнего блока и тд. (ну в примере так)
А компонент должен иметь _свой контроллер_ в котором описывается _только логика этого компонента._, тобишь быть изолированным. А если нет изоляции то это просто темплейт.
__________________
Научу себя плохому
|
|
02.05.2015, 17:59
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
Сообщение от UIjs
|
не забывай мой уровень
|
Извини, забыл. Нужно было сразу тебя послать!
Атрибуты плохо, потому что они делают универсальным то, что должно быть неуниверсальным!
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
|
|