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>`
})
  • Вопрос задан
  • 500 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Вы же просто метод вызываете - откуда там взяться объекту события? Надо повесить на элемент соответствующий обработчик. Типа так.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы