Javascript 属性值在子对象中不更改
我创建了一个错误组件,当我从服务器收到错误时,它会显示在对话框中。我通过道具将在父组件中收到的错误消息传递给错误组件。当我第一次通过将v-model=“errorDialog”设置为true来显示错误组件时,我看到了正确的错误。当我尝试用我的错误组件再次显示对话框时,我总是收到与第一次显示对话框时相同的错误消息({{errMsg})。即使errMsg的值不同:err=“errMsg”。有什么帮助吗 错误组件Javascript 属性值在子对象中不更改,javascript,vue.js,vue-component,vuex,vuetify.js,Javascript,Vue.js,Vue Component,Vuex,Vuetify.js,我创建了一个错误组件,当我从服务器收到错误时,它会显示在对话框中。我通过道具将在父组件中收到的错误消息传递给错误组件。当我第一次通过将v-model=“errorDialog”设置为true来显示错误组件时,我看到了正确的错误。当我尝试用我的错误组件再次显示对话框时,我总是收到与第一次显示对话框时相同的错误消息({{errMsg})。即使errMsg的值不同:err=“errMsg”。有什么帮助吗 错误组件 <template> <v-card> <v
<template>
<v-card>
<v-card-title class="headline red lighten-2" >
Oh No
</v-card-title>
<v-card-text>
<b> {{errMsg}} </b>
</v-card-text>
<v-card-actions>
<v-spacer></v-spacer>
<v-btn color="#9da4cf" text @click="cancel">Ok</v-btn>
</v-card-actions>
</v-card>
</template>
<script>
export default {
data(){
return {
errMsg:this.err
}
},
props:{
err:{
type: String,
required: true,
}
},
methods:{
cancel(){
this.$emit('cancel-ErrorDialog');
}
}
}
</script>
哦,不
{{errMsg}}
好啊
导出默认值{
数据(){
返回{
errMsg:this.err
}
},
道具:{
错误:{
类型:字符串,
要求:正确,
}
},
方法:{
取消{
此.emit('cancel-ErrorDialog');
}
}
}
来自父组件
<v-dialog v-model="errorDialog" max-width="600px">
<ErrorDialog :err="errMsg" v-on:cancel-ErrorDialog="cancelErrorDialog" />
</v-dialog>
首次创建组件时,值被复制到本地数据对象中,但从未更新。看起来您可以完全跳过
数据对象,直接使用道具:
哦,不
{{err}}
好啊
导出默认值{
道具:{
错误:{
类型:字符串,
要求:正确,
}
},
方法:{
取消{
此.emit('cancel-ErrorDialog');
}
}
}