@Zewkin
Я у мамы фронтэндер

[ Vue ] $emit из динамического компонента?

Монтируем компонент напрямую в DOM:

toogleForm () {
      const Tbody = document.querySelector('tbody')
      const AddNewRowCtor = Vue.extend(AddNewRow)
      const addNewRowCtorInstance = new AddNewRowCtor().$mount()
      Tbody.insertBefore(addNewRowCtorInstance.$el, Tbody.querySelector('tr'))
    },


Из этого компонента пытаемся вызвать событие:

emitRow () {
      console.log('test')
      this.$emit('addResource', {
        name: 'Test',
        identifier: 'Test'
      })
    }


Ничего не происходит, событие не выбрасывается, только стандартное click. Как быть?

Спасибо.
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347
Crazy on performance...
А где Вы подписались на событие?
toogleForm () {
      const Tbody = document.querySelector('tbody')
      const AddNewRowCtor = Vue.extend(AddNewRow)
      const addNewRowCtorInstance = new AddNewRowCtor().$mount()
      addNewRowCtorInstance.$on('addResource', payload => { /* wow! */ });
      Tbody.insertBefore(addNewRowCtorInstance.$el, Tbody.querySelector('tr'))
    },
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы