#javascript #typescript #vuejs3
Вопрос:
У меня есть родительский и дочерний компоненты. В моем родительском компоненте я запущу наблюдаемый метод в моем дочернем элементе. Там у меня есть эмиссия, которая возвращает меня к следующему отдельному методу в родительском компоненте.
export default {
setup() {
var allItemsChecked= ref(false)
return {
allItemsChecked
}
},
methods:{
showButton(checked) {
this.allItemsChecked = checked //checked has the value "true"
console.log(this.allItemsChecked)
},
}
}
Этот метод должен отображать следующую кнопку:
<div v-if="allItemsChecked">
<div class="d-flex flex-justify-center pt-5">
<button class="button large dark outline"><span class="mif-truck"> save</span></button>
</div>
</div>
Консоль.в журнале отображается правильное значение «true», но значение в DOM не меняется.
Я присвоил ссылку переменной allItemsChecked. Возможно ли, что вы не можете излучать родительскому объекту в наблюдаемом методе ?
Я благодарен за любую помощь или подсказки.
Комментарии:
1. @серьезно, что вы подразумеваете под командой отображения? Я просто назначаю
allItemsChecked
с помощью true. Затем из-за ссылки значение в dom также должно измениться на true, что приведет к отображению кнопки. Я попытался добавить оператор if, который является истинным, но для dom значение равно false
Ответ №1:
Если allItemsChecked
это a ref
, вам нужно использовать .value
для установки значения реактивным способом
showButton(checked) {
this.allItemsChecked.value = checked //checked has the value "true"
console.log(this.allItemsChecked)
},
если вы получаете ошибку Cannot create property 'value' on boolean 'false'
, это означает, что вы уже неправильно назначили ее где-то в другом месте. Найдите все экземпляры allItemsChecked =
и замените на allItemsChecked.value =
Комментарии:
1. Я отредактировал свой вопрос, чтобы, надеюсь, сделать его более ясным. Я сожалею, если мой вопрос каким-либо образом ввел вас в заблуждение. Я получаю ошибку ( не удается создать свойство «значение» для логического значения «ложь»), если я использую
.value
наallItemsChecked
2. посмотрите на другие случаи, когда присваивается значение
3. Значение
allItemsChecked
присваивается только вshowButton
Методе