const userComponent = {
template: `<div>
userComponent 元件:<br />
{{ user.name }}, <br />
{{ user.uuid }}
</div>
`,
inject:['user'],
created() {
// 內層修改資料時,因為外層使用函式傳遞,故外層資料也會同步修改
this.user.name = '杰倫'
}
}
const app = Vue.createApp({
data() {
return {
user: {
name: '小明',
uuid: 78163
}
}
},
provide(){
return {
user:this.user
}
}
})
app.component('card', {
data() {
return {
title: '文件標題',
content: '文件內文',
toggle: false
}
},
components: {
userComponent
},
inject:['user'],
template: `
<div class="card" style="width: 18rem;">
<div className="card-header">card 元件</div>
<div class="card-body">
<userComponent></userComponent>
</div>
</div>
{{user}}
`,
});
app.mount('#app');