Saya ingin membuat roda latar belakang untuk pembangunan masa hadapan. end memanggil komponen, ia meminta data yang disediakan oleh bahagian belakang untuk memaparkan halaman yang dikehendaki, jadi ia ditulis seperti ini pada halaman:
<template>
<p>
<p v-for="item in items">
<p v-if="item.type=='editor'">
<label>{{ item.title }}</label>
<p id="editor" style="height:400px;max-height:500px;">
{{ item.model }}
</p>
</p>
<p v-if="item.type=='input'">
<el-input v-model="item.model" placeholder="请输入内容"></el-input>
</p>
</p>
</p>
</template>
Kemudian saya menulis dalam vue's mounted:
mounted() {
axios.get('shop/pageData').then((res)=>{
this.items = res.data.data;
var editor = new wangEditor('editor');
editor.create();
});
}
Kemudian ia tidak boleh diberikan dan ralat dilaporkan
Uncaught (dalam janji) TypeError: Tidak boleh membaca 'menu' hartanah undefined
Saya tidak melakukan banyak bahagian hadapan dan menggunakan vue saya ingin bertanya kepada anda:
1 Bagaimanakah vue boleh bekerjasama dengan bahagian belakang untuk mendapatkan data dengan lebih baik apabila memanggil komponen secara langsung pada halaman json_encode($data)? //Saya menggunakan php sebagai back-end
atau Apabila komponen dipanggil, minta data daripada axios
2 Pada mulanya, saya fikir ia adalah masalah perbezaan masa , jadi saya cuba meminta data dalam bahagian create(){} dan berikan nilai ini, dan kemudian apabila anda memanggil mounted(){}, anda mendapati bahawa this.data tidak mempunyai nilai Mengapa ini?
Apabila melaksanakan wangEditor('editor') baharu, adakah nod id=editor wujud? Ini sepatutnya menjadi masalah