Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #131 (permalink)  
Старый 02.05.2015, 17:19
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
нет не мусор, пруф http://www.youtube.com/watch?v=NbLfDvQsesk
То что ты назвал компонентом - это совсем не компонент, а просто темплейт.

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

Цитата:
ПС: атрибуты мусор! Особенно какие-нибудь левые типа ng- , я уж молчу про ui-, да и data- шлак левый, но что уж поделать, сделали по просьбе ламеров..
Не совсем с тобой согласен. Если смотреть со стороны обычного mvc, то да, контроллер сам должен знать всю инфу и расшаривание парметров в _статичное_ представление - костыль.

Но в mvw ты _конфигурируешь_ атрибутами viewModel эти атрибуты привязывают то или иное состояние представления к конкретному значению модели. А то что остается немного шлака от нагенеренного т.к это фигня.
__________________
Научу себя плохому
Ответить с цитированием
  #132 (permalink)  
Старый 02.05.2015, 17:23
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

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

ты сказал что они ни чего полезного не привносят, но они привносят полезный функционал. или не привносят его? например ui-scrollbar добавляет красивый скроллбар. или не добавляет? data-repeat итерирует элемент, или не итерирует? on-click вешает обработчик события. или не вешает? или данный функционал не полезный?


Сообщение от l-liava-l
То что ты назвал компонентом - это совсем не компонент, а просто темплейт.
то что я назвал компонентом это компонент а вовсе не темплейт. ты все напутал потому что невнимательно смотрел.

Сообщение от l-liava-l
Компонент это такая штучка, которая обьединяет в себе кучу директив и вообще какой то шаблонный блок, но при этом изолирована от внешней области видимости.
да

Последний раз редактировалось UIjs, 02.05.2015 в 17:26.
Ответить с цитированием
  #133 (permalink)  
Старый 02.05.2015, 17:27
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Если я правильно понял, то преимущество Dispatcher'а в том, что в case'ах можно добавлять не один AppStorage.add(data.params), а множество обращений к хранилищу, так?
Dispatcher нужен для того чтобы вызывать экшены не только в какой то последовательности, но и делать подписку на обновление других компонентов. Если понятно выразился канеш
__________________
Научу себя плохому
Ответить с цитированием
  #134 (permalink)  
Старый 02.05.2015, 17:34
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

l-liava-l,
не совсем понятно, ведь подписку на обновление осуществляет сам компонент в componentDidMount(). Можно пример, так будет гораздо понятнее, наверно)
Ответить с цитированием
  #135 (permalink)  
Старый 02.05.2015, 17:37
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 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>
__________________
Научу себя плохому
Ответить с цитированием
  #136 (permalink)  
Старый 02.05.2015, 17:45
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

Сообщение от l-liava-l
Што да, "твой компонент" зависит от верхнего контроллера потому что в атрибуты передал какие-то параметры, но не обернул это все.
че ты несешь? компонент состоит из 3 сущностей, стиля, шаблона, и логики. данный компонент не содержит стилей ни логики а только шаблон. включи мозг маленько? ты основ даже не знаешь а еще со мной соприть берешься, не забывай мой уровень и свой! если что-то непонятно СПРАШИВАЙ, но не спорь, не тот уровень. Тут только kobezzza со мной на равных может разговаривать, и более того даже что-то новое говорить. Остальны в резком отрыве. Так что чтобы сэкономить время не выежывайся а просто спрашивай что непонятным показалось.
Ответить с цитированием
  #137 (permalink)  
Старый 02.05.2015, 17:47
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
l-liava-l,
не совсем понятно, ведь подписку на обновление осуществляет сам компонент в componentDidMount(). Можно пример, так будет гораздо понятнее, наверно)
Ты подписываешься на обновления в диспетчере и там же ты можешь указать в каком порядке будут вызываться обработчики (а рассылает он всем) и есть возможность выполнить определенное событие только после того как пришло какое то другое (ну как бэ режим ожидания)

Вот тут все подробно описано елси не читал:
http://habrahabr.ru/post/246959/
__________________
Научу себя плохому
Ответить с цитированием
  #138 (permalink)  
Старый 02.05.2015, 17:48
Профессор
Отправить личное сообщение для UIjs Посмотреть профиль Найти все сообщения от UIjs
 
Регистрация: 24.04.2015
Сообщений: 183

l-liava-l, тебе не понятно почему я свой компонент называю компонентом? или что? обьяснять?

обьяснение для новичков: много чего-то компануем в что-то одно, называется компонент. мы скомпоновали элемент с кучей атрибутов в что-то одно под именем my-div. my-div - компонент. я достаточно подробно обьяснил или тебе тоже видео пилить?
Ответить с цитированием
  #139 (permalink)  
Старый 02.05.2015, 17:53
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
че ты несешь? компонент состоит из 3 сущностей, стиля, шаблона, и логики. данный компонент не содержит стилей ни логики а только шаблон. включи мозг маленько? ты основ даже не знаешь а еще со мной соприть берешься, не забывай мой уровень и свой! если что-то непонятно СПРАШИВАЙ, но не спорь, не тот уровень. Тут только kobezzza со мной на равных может разговаривать, и более того даже что-то новое говорить. Остальны в резком отрыве. Так что чтобы сэкономить время не выежывайся а просто спрашивай что непонятным показалось
О всеведующий, не бомбите.

Цитата:
стиля, шаблона, и логики.
Это всем ясно что должны быть стиль шаблон и логика, но всю логику управления моделью ты описываешь где? в контроллере странички/верхнего блока и тд. (ну в примере так)

А компонент должен иметь _свой контроллер_ в котором описывается _только логика этого компонента._, тобишь быть изолированным. А если нет изоляции то это просто темплейт.
__________________
Научу себя плохому
Ответить с цитированием
  #140 (permalink)  
Старый 02.05.2015, 17:59
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от UIjs
не забывай мой уровень
Извини, забыл. Нужно было сразу тебя послать!

Атрибуты плохо, потому что они делают универсальным то, что должно быть неуниверсальным!
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смишных картинок тред megaupload Оффтопик 3448 03.07.2023 09:47
Обсуждений тред cyber Оффтопик 2135 03.10.2018 08:10
Webpack'а тред nerv_ Сборка проекта, утилиты 58 07.05.2016 13:46
Github Atom'а тред melky Оффтопик 16 01.04.2015 07:44
Смишных видео с намеком тред godofjavascript Оффтопик 4 30.12.2012 23:50