Vue prop初始化/变异

时间:2018-12-01 23:13:21

标签: typescript vuejs2 vue-component

我有以下代码:

export default class LayoutComponent extends Vue {  
    @Prop() whiteBg: boolean = true;    
    ...
}

但是当我编译它时,我得到:

  

属性'whiteBg'没有初始化程序,并且在构造函数中未明确分配

所以我尝试通过以下方式修复它:

export default class LayoutComponent extends Vue {  
    @Prop() whiteBg!: boolean;      
    ...
}

但是在chrome控制台中,我得到了错误:

  

避免直接更改道具,因为每当父组件重新渲染时,该值就会被覆盖

和布局“忽略”在使用它的父组件中设置的whiteBg值。

问题:该怎么办?

2 个答案:

答案 0 :(得分:1)

使用以下代码

.toString()

答案 1 :(得分:1)

或使用以下

export default class LayoutComponent extends Vue {
    @Prop({ default: true }) whiteBg: boolean;
    ...
}

https://github.com/kaorun343/vue-property-decorator