Есть ли способ получить имя переменной v-модели в родительском компоненте от дочернего компонента - PullRequest
0 голосов
/ 14 мая 2019

В приведенном ниже примере, когда я настраиваю компонент vue радио, я могу использовать опцию модели, чтобы получить значение v-модели, которое должно быть строкой «1». Как я могу получить имя переменной «radio1» в дочернем элементе?Есть ли способ?

дочерний компонент

<template>
  <input type="radio" v-model="prop" :value="value">
</template>
<script>
export default {
  model: {
    prop: "prop"
  },
  props: {
    prop: {
      default: ''
    },
    value: {
      default: ''
    }
  }
}
</script>

родительский компонент использует этот компонент

<template>
  <div>
    <radio-component v-model="radio1" value="1"></radio-component>
    <radio-component v-model="radio1" value="2"></radio-component>
  </div>
</template>
<script>
import radioComponent from './radio'
export default {
  components: {
    radioComponent
  },
  data () {
    return {
      radio1: '1'
    }
  }
}
</script>

1 Ответ

0 голосов
/ 14 мая 2019

Вы можете создать событие с любым именем, которое хотите, поэтому в дочернем элементе вы можете написать:

<input type="radio" @input="$emit('prop', prop)" v-model="prop" :value="value">

Затем в родительском элементе вы можете сделать:

<radio-component v-model="radio1" @prop="doSomething" value="1" name="nameValue"></radio-component>
.
.
.
data(){
   return {
     nameValue: null
    }
methods: {
doSomthing(prop){
   this.nameValue = prop
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...