Я хочу добавить данные в динамический c компонент из родительского компонента
Например:
Давайте возьмем число в качестве данных, которые я хочу передать в динамику c component.
o / p этого фрагмента:
Приветствие родительского сообщения!
Приветствие 5
Приветствие 5
Добро пожаловать 5
Добро пожаловать 5
Добро пожаловать 5
ожидаемое значение o / p должно быть :
Добро пожаловать родительское сообщение!
Добро пожаловать 1
Добро пожаловать 2
Добро пожаловать 3
Добро пожаловать 4
Добро пожаловать 5
let dynamicComponent = {
template: `
<p>Welcome {{ msg2 }}</p>
`,
props:['msg'],
data () {
return {
msg2: this.msg
}
},
}
const App = new Vue({
el: '#app',
data(){
return{
parentMsg:'parent message',
components: [
dynamicComponent
],
}
},
methods: {
add () {
for(let i=1;i<6;i++){
this.parentMsg = i;
this.components.push(dynamicComponent)
}
},
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<template v-for="(component, index) in components">
<component :msg="parentMsg" :is="component" :key="index"></component>
</template>
<button @click="add()">Add Component</button>
</div>
Проблема возникает, когда я хочу, чтобы компоненты сразу, используя цикл for, все компоненты имели одинаковые данные, то есть, что '5', и я не могу Понимаю, почему это происходит, я пытался использовать немедленный вызов выражения функции в for-l oop, но, похоже, он также не работает.