#javascript #vue.js
Вопрос:
Я хочу добиться передачи данных от компонента к корневому элементу в Vue. Я пытаюсь получить доступ к значению «заголовок» из корневого элемента с помощью метода. Когда код выполняется, консоль выдает мне значение «неопределенный» вместо значения «заголовок». Возможно ли это вообще с моей идеей?
var app = Vue.createApp({
props: ['handle'],
components: ['custom-form'],
methods: {
showData: function() {
console.log (this.handle)
return this.handle
}
},
created() {
console.log (this.showData())
}
})
app.component ('custom-form', {
props: ['value'],
template: `
<h1>{{title}}</h1>
<input type="text" v-model="inputValue" />
`,
data(){
return {
title: 'login'
}
},
computed:{
inputValue:{
get(){ this.title },
set(v){ this.$emit('update:inputValue',v) }
}
},
methods: {
handle(){
return this.inputValue
}
}
})
app.mount('#app')
Комментарии:
1. попробуйте использовать
eventBus
илиvuex store
2. см.: v3.vuejs.org/guide/migration/v-model.html в принципе
props: ['value'],
, сейчас былоprops: ['modelValue'],
бы иget(){ this.title },
было быget() { return this.modelValue },
примером playcode.io/8261863. np, я подумал, что я расширю пример. передача вещей может быть сложной поначалу, но как только вы это поймете, все станет довольно просто. если вы собираетесь иметь несколько вложенных вещей, или родитель имеет кучу детей, и дети должны иметь доступ вещах брата и сестры, то смотрите в vuex, избегать глобальных событий автобусов, как это взломать не использовать vuex, если vuex-это слишком много, вы всегда можете просто использовать миксин, который содержит сведения которая является наблюдаемой
4. Потратив несколько дней на то, чтобы понять кодирование Vue с вами и другими хорошими помощниками, я пришел к такому результату: jsfiddle.net/e2mnh4xa