Как я могу передавать данные между двумя представлениями в aurelia?

У меня есть два представления, logo и folder, эта папка отзывается в логотипе, я собираюсь проверить, пуста ли папка, отправить что-нибудь в представление логотипа.

logo.html

<template>
  <require from="company-assets/folders"></require>

  <folders resourcetype="logo" loadresources.bind="bindedLoadResources" 
     isloading.bind="bindedIsLoading" rootitems.bind="rootResources" if.bind="!searchQuery">
  </folders>

  <ul class="row logos list" if.bind="resourcesList.items.length">
    <logo repeat.for="logo of resourcesList.items" item.bind="logo"></logo>
  </ul>

  <div if.bind="resourcesList.items.length==0 && 
    !resourcesList.isLoading || folders.resourcetype"  >
    <assest-emptyscreens></assest-emptyscreens>
  </div>


</template>

folder.html

<template>

  <ul class="row folders list mb-30 mt-10" if.bind="!isLoading && hasFolders">
    <folder if.bind="resourcetype" repeat.for="folder of foldersList.items" 
      item.bind="folder" loadfoldercontent.bind="bindedGoToFolder" 
      isloading.bind="bindedIsLoading" deletedfolder.bind="bindedDeletedFolder">
    </folder>
  </ul>

  <div if.bind="!hasFolders && isRoot && !isLoading" >
    Empty
  </div>
</template>

Я собираюсь получить "пустой" из папки, чтобы зарегистрировать логотип

Есть два метода передачи данных между компонентами. Во-первых, использовать шаблон наблюдатель / слушатель. Это хорошо поддерживается EventAggregator Aurelia, см., Например, Учебник на aurelia.io/docs/tutorials/… Другой метод - поделиться свойством родительской модели просмотра, где где-то уже ответили, здесь не может найти ссылку.

Tomas Kulhanek 10.09.2018 11:35

@TomasKulhanek Передача объектов родственным компонентам - этот?

Jesse 11.09.2018 08:56

Кроме того, я понятия не имею, о чем вы спрашиваете. Не могли бы вы привести в порядок свой приговор и четко описать вашу проблему? Мне также кажется, что в ваших фрагментах много ненужного кода, попробуйте создать Минимальный, полный и проверяемый пример

Jesse 11.09.2018 09:03

tnx, первая ссылка была отличной .aurelia.io/docs/tutorials/…

Tima mehro 11.09.2018 09:36

@JessedeBruijne да, это ссылка на правильный ответ.

Tomas Kulhanek 11.09.2018 12:17

спасибо @TomasKulhanek

Tima mehro 12.09.2018 06:51
0
6
498
1

Ответы 1

Обычно существует два метода передачи данных между компонентами.

  1. Во-первых, используйте паттерн Наблюдатель / Слушатель или Издатель / Подписчик. Это хорошо поддерживается EventAggregator Aurelia, см., Например, учебник на https://aurelia.io/docs/tutorials/creating-a-contact-manager#adding-pubsub-messaging
  2. Общее свойство viewmodel. См. Ответ на Передача объектов в следующие одноуровневые компоненты

Другие вопросы по теме