Тема: Vue' thread 1
Показать сообщение отдельно
  #50 (permalink)  
Старый 07.10.2016, 17:27
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Законно ли вызывать методы дочерних компонентов через $ref?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <div id="app">
    <my-component ref="myComponent"></my-component>
    <button @click="handleToggle">toggle</button>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.1/vue.min.js"></script>
  <script>
    Vue.component('my-component', {
      template: '<div v-if="active">my-component</div>',
      data: () => ({ active: false }),
      methods: {
        toggle() {
          this.active = !this.active
        }
      }
    })

    new Vue({
      el: '#app',
      methods: {
        handleToggle() {
          this.$refs.myComponent.toggle() // я об этом
        }
      }
    })
  </script>
</body>
</html>

Последний раз редактировалось Lemme, 07.10.2016 в 17:56.
Ответить с цитированием