Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   VUE + события компонента (https://javascript.ru/forum/library-toolkit-framework/80862-vue-sobytiya-komponenta.html)

dpts 17.08.2020 08:39

VUE + события компонента
 
День добрый.
Может кто-нибудь внятно объяснить, что не так и как правильно ловить события подключенного компонента?
Имеем vue + подключенный с CDN набор компонентов https://cdn.syncfusion.com/ej2/ej2-v...ej2-vue.min.js

Из него меня интересует https://ej2.syncfusion.com/vue/docum...drag-and-drop/
у которого есть события nodeClicked, например.
Чисто теоретически понятно, что ловить его надо примерно так:
<ejs-treeview 
                        id='treeview' 
                        :fields="fieldsEjs" 
                        :allow-drag-and-drop="true" 
                        v-on:node-сlicked="nodeClickedHandler">
                    </ejs-treeview>

ну и метод:
nodeClickedHandler:function(e){
   console.log('1');
   console.log(e);
}


Но не срабатывает (в консоль не выводится ничего).
если в html v-on:node-clicked поменять на v-on:nodeClicked или на v-on:nodeсlicked, то при клике по элементу вуй
говорит, - что в компоненте указано событие nodeClicked и ругается на кэмел кейс, просит вернуть обратно v-on:node-clicked, что логично.
VueDev Tools - показывают, что события срабатывают.

Вот и вопрос, как ловить такие штуки?

dpts 30.09.2021 11:00

И в продолжение вопрос.
А как дождаться всплытия события компонента?
Допустим есть компонент, который отрисовывает загруженный jpeg на канвасе и эмитит событие ready после отрисовки.
Мне циклом надо скормить компоненту допустим 5 jpeg-гов, и получить их обратно уже с канваса.

Aetae 30.09.2021 13:30

Эти говноделы болт забили на парадигму vue и захреначили как в сраном реакте: node-сlicked у них не событие(v-on), а ещё один пропс(v-bind).

По второму вопросу - точно также как и без vue:
let index = 0;
let arr = [...];
function ready() {
  getResult();
  if(++index !== arr.length)
    showNext(arr[index]);
}
function getResult() {...}
function showNext() {...}


Часовой пояс GMT +3, время: 20:56.