Показать сообщение отдельно
  #1 (permalink)  
Старый 23.01.2020, 14:22
Аспирант
Отправить личное сообщение для Иса Мирзоев Посмотреть профиль Найти все сообщения от Иса Мирзоев
 
Регистрация: 15.04.2019
Сообщений: 72

V-model props value нюанс уточнить
Приветствую всех) Просьба пояснить, откуда в коде берется значение value? Спасибо) Опишу свои догадки: мы отсылаем в функции-эмитере булевское значение, и потом ЭТО ЖЕ значение получаем через функцию v-model, и оно по умолчанию вставляется в value, которое мы получаем в пропс. То есть не в самом пропсе дело, а именно в value внутри него, так как пробовал value1 получать, везде заменял, но код не работал. Спасибо еще раз)

Сначала компонент
<template>

<div>
  <button @click="developing(true)"  class="on"  :class="{'active':value}">Красный</button>
  <button @click="developing(false)" class="off" :class="{'active':!value}">Зеленый</button>
</div>

</template>



export default{
  props:["value"],
  methods:{
    developing(otherValue){
      this.$emit("input",otherValue)
    }
  }
}



Код:
<style scoped>

button{
  border: none;
  padding: 5px 15px;
  cursor: pointer;
  margin-right: 20px;
  outline: none
}

button:active{
  box-shadow: inset 1px 1px 2px rgba(0,0,0, .5)
}

.on.active{
  background:green;
  color: #fff;
}

.off.active{
  background: red;
  color:#fff;
}


</style>
Теперь App

<template>
        <div>
          <app-onoff v-model="switched"></app-onoff>
        </div>
</template>


import onoff from './onOff'


export default{
  data(){
    return{
      switched:false
    }
  },components:{
    appOnoff:onoff
  }

}


Код:
</script>


<style scoped>

textarea{
  width: 400px;
  height: 100px;
}

p{
white-space: pre
}

</style>

Последний раз редактировалось Иса Мирзоев, 23.01.2020 в 14:25.
Ответить с цитированием