如何解决Vue.js 使用对象属性装饰器绑定对象字段
我想使用 vue-property-decorator 绑定对象的字段。以下代码应该说明我想要实现的目标:
<template>
<textarea v-model="this.Box.description" placeholder="The description for the Box"></textarea>
</template>
<script lang="tsx">
import { Component,Prop,Vue } from 'vue-property-decorator';
export default class BoxScreen extends Vue {
@Prop() private Box!: Box;
public created() {
// init Box with an Axios request
}
}
</script>
textarea
中的描述已正确初始化,但一旦我开始编辑文本,绑定似乎就不起作用了。我需要与此问题相同的解决方案,但使用 vue-property-decorator
: Vue.js bind object properties。
解决方法
我相信这个问题是因为你试图改变一个道具。请尝试以下操作:
<template>
<textarea
v-model="description"
placeholder="The description for the box"
></textarea>
</template>
<script lang="tsx">
import { Component,Prop,Watch,Vue } from 'vue-property-decorator';
export default class BoxScreen extends Vue {
@Prop() private box!: Box;
description: string;
@Watch('box.description',{ immediate: true })
onChangeBoxDescription(): void {
this.description = this.box.description;
}
public created() {
// init box with an Axios request
}
}
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。