Две компоненты, связывающие Vuejs

Как было бы идеально организовать данные и взаимодействие между двумя компонентами 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.

Многие люди, похоже, пытаются использовать Vue без магазина. Могли бы вы быть одним из них? Возможно, потому что магазин не является строго частью Vue? Возможно, потому, что docs тратят больше времени на связь между родителями и детьми, события и т. Д. (Сложные), чем на управление состоянием (простое)? Может быть, потому, что ОО гниет наши мозги?

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

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

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

Interesting Posts

Можно ли использовать Bittorrent на твердотельных накопителях (SSD)?

Добавление элементов управления динамически в UpdatePanel в ASP.NET AJAX

Ненавязчивый Ajax прекратил работу после обновления jQuery до 1.9.0

Проблема Bizarre DNS

Что такое этимология «слизняков»?

заменить неизвестную строку между двумя известными строками с помощью sed

Может ли getDerivedStateFromProps использоваться в качестве альтернативы componentWillReceiveProps

Ввод ввода с джойстика с помощью C # .NET

Как контролировать ширину и высоту диалогового windows Alert Dial по умолчанию в Android?

Что означает Serializable?

Как я могу получить нумерацию страниц Word для начала на третьей странице, чтобы она отображалась в TOC как страница 1

Есть ли простой способ заполнения раскрывающегося списка в этой схеме базы данных доступа?

множественный просмотрщик с одним fragmentом

ObservableCollection и резьба

Оконное приложение в нерабочем режиме

Давайте будем гением компьютера.