этот ответ

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

item(v-for="item in items)
 a {{item.name}}

2) и второй

card(v-for="item in items")
 div.content
  img {{item.photo}}
  div {{item.desc}}
  button Details

Основная идея заключается в том, что когда я нажимаю на элемент списка, я хочу переключить карту с тем же идентификатором, что и у списка. Я использую один компонент управления файлами из шаблона vue webpack.

Ответы на вопрос(1)

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

Vue хочет поговорить с магазином. Весь смысл двунаправленного связывания состоит в том, чтобы отделить состояние от разметки. Причина, по которой эта идея настолько гениальна, заключается в том, что многие (большинство?) Элементов состояния имеют более одного представления на экране, например, массив элементов. Ваше хранилище, которое может быть таким же простым, как объект js в области видимости окна, должно содержать все состояние вашей страницы в данный момент. Вы должны быть в состоянии скопировать и вставить магазин между страницами и смотреть на одно и то же на экране. Важными качествами магазина являются ...

что есть только один из них.что вы «нормализуете» свой магазин так, что элемент состояния сохраняется только один раз, и между элементами состояния есть минимальные зависимости.

Ваш массив items должен находиться в магазине, и оба компонента ссылаются на этот «единственный источник правды». Если вы используете компоненты других людей, то вам нужно передать им некоторые свойства, но свойства предназначены для создания туннелей через компоненты Vue для связи конечных компонентов с вашим магазином. Ваши вещи - это ваше состояние, и государство обычно не должно жить в материалах Vue. Это помогает?

 bbsimonbb04 дек. 2017 г., 12:52
@ 82Tuskers. Документы Vue, как правило, изумительны, и все есть, но они не помогают вам расставить приоритеты одной функции по отношению к другой. Простой пример государственного управления начинается сconstтак что любой, кто с подозрением относится к const, выключит или заблокирует это. Эта проблема возникает так часто, что я согласен, в документах стоило бы настаивать немного сложнее.
 82Tuskers04 дек. 2017 г., 12:19
это интересный комментарий. Я всегда думал, что $ emit и $ on у Vue были очень близорукими. Подобно pubsub, ограниченному иерархиями родитель / потомок ИЛИ предок / потомок, казалось очень ограниченным. Я даже спросил это так:stackoverflow.com/questions/47366103/vue-component-on-use-case, Но теперь возникает более глубокий вопрос: почему Vue как основа не документирует / не делает упор на государственное управление? WDYT ...
 bbsimonbb04 дек. 2017 г., 14:49
Мой любимый недавний примерэто здесь, Эта потенциально сложная проблема стала простойкогда вы правильно поняли магазин. Вы также можете быть заинтересованы вЭта проблема, для меня пример узлов, которые люди получают без магазина, или ветка комментариевэтот ответ.

Ваш ответ на вопрос