【发布时间】:2019-09-11 11:22:41
【问题描述】:
我在这里转圈。
我有一个 vuejs2 应用程序启动并使用 typescript 运行,但是当我尝试将数据传递给源自商店的子组件时遇到错误。
<template>
<div>
<form-error :error422.sync="errors"></form-error>
</div>
</template>
<script lang="ts">
import { Component, Vue } from 'vue-property-decorator';
import FormError from '@/components/FormError422.vue';
import cloneObj from '@/utils/cloneObj';
@Component({
components: {
FormError,
},
})
export default class RegisterForm extends Vue {
get errors() {
return cloneObj(AuthenticationModule.errorRegister);
}
</script>
孩子
<template>
<div>
{{error422.errors}}
</div>
</template>
<script lang="ts">
import { Component, Prop, Vue } from 'vue-property-decorator';
import { Generic422 } from '@/ms-authentication'
@Component
export default class FormError422 extends Vue {
@Prop() private error422: Generic422 = {
errors: [],
};
}
</script>
但无论我做什么都会引发警告:
[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "error422"
【问题讨论】:
-
试试看这个answer
-
并没有真正启发 typescript 装饰器。但是谢谢
标签: typescript vue.js