我想知道如果道具來自後端的響應,什麼是處理Vue.js道具的正確方法?什麼是正確的方式來處理Vue.js道具從後端的響應
好吧,讓我們說,孩子組件具有prop
稱爲person
。一個name
是人的對象。
<template>
{{ person.name }}
<template>
<script>
export default {
name: 'ChildComponent',
props:['person'],
created(){
this.getName();
},
data(){return{name:''}},
methods:{
getName(){
this.name = this.person.name;
}
}
</script>
父組件是這樣
<template>
<ChildComponent :person="person"></ChildComponent>
<template>
<script>
export default {
name: 'ParentComponent',
created(){
this.getPerson();
}
data(){
return {
person: null
}
},
methods:{getPerson(){
// send request to server or api then update name
sendrequest().then(person => { this.person = person});
}}
</script>
起初,之前得到的迴應,會有一個警告can't get name from person
。 我知道2層的方法來處理這個問題:
<ChildComponent :person="person" v-if="person"></ChildComponent>
- 手錶
person
支撐在,每個人改變時,重新運行childcomponent的getName()方法或設置名稱作爲計算屬性。
因此,這裏的問題再一次,他們在處理這個正確的方法是什麼?還有其他一些方法,如使用Vuex?
Thx