我应该为Vue中的类组件使用哪些访问修饰符?
我想知道我应该为Vue类中的属性和方法使用什么修饰符?(我使用vue-class-component
包)。public
、private
、protected
?
还是应该关闭提示我需要设置访问修饰符的链接规则?
以下是一个组件示例:
@Component({
components: { MyChildComponent }
})
export default class MyComponent extends Vue {
// props
@Prop({ type: String, default: '' }) public readonly value!: string
@Prop({ type: Array, default: () => [] }) public readonly myProp1!: any
@Prop({
type: [Array, Object],
default: () => ({})
}) public readonly myProp2!: any
// data variables
public myVar1: MyClass | null = null
public myVar2: boolean = false
// computed
public get isDisabled (): boolean {
// code...
}
// watch
@Watch('value')
public onValueChange (val) {
// code...
}
// hook
public mounted () {
// code...
}
// method
public setMenuItem () {
// code...
}
}
解决方案
公共:您可以从任何类访问该属性或方法。
受保护:您可以访问同一个类或任何子类中的属性或方法
Private:您可以访问同一个类内的属性或方法,但不能访问该类外的属性或方法。
参考here。
只要您不关心其他组件是否修改该值或调用该函数,使用public
通常是可以的。我只会在默认情况下使用public
,然后在必要时将其替换为private
或protected
。
关闭链接器也有效,但如果在组件之间遇到问题,并且尚未为组件之间使用的属性或方法定义访问修饰符,则调试可能会很麻烦。
相关文章