bogdan_uman
@bogdan_uman
шлЫмазл неукЪ-поцЪ

Как опрокидывать события внутри компонента?

Здравствуйте. Подскажите пожалуйста. Как опрокидывать события внутри компонента. Например нам нужно по кнопке получить фокус на текстовом поле. В данном примере работает, но метод focus( e ) не получает объект Event. Я так понимаю, тут вызвался только метод, а как можно все-так событие вызвать? Спасибо

fiddle

Vue.component('myComp', {
  template: `
  <div>	
    <input ref='input'></button>
  </div>`  ,
  methods: {
    focus( e ) {
    	this.$refs.input.focus()
      console.log( 'focus', e )
    }
  },
})


new Vue({
  el: '#app',
  methods: {
		onClick() {
		      //this.$refs.myComp.myFocus( );
		      this.$refs.myComp.focus( );
		    }
  },
  template: `
    <div>
			<myComp ref='myComp' />
      <button @click='onClick'>Click myComp</button>
    </div>`
})
  • Вопрос задан
  • 502 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Вы же просто метод вызываете - откуда там взяться объекту события? Надо повесить на элемент соответствующий обработчик. Типа так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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