【发布时间】:2019-08-15 19:09:44
【问题描述】:
我想知道应该为 Vue 类中的属性和方法使用哪些修饰符? (我使用vue-class-component 包)。 public, private, protected?
或者我应该关闭说我需要设置访问修饰符的 linter 规则吗?
这是一个示例组件:
@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...
}
}
【问题讨论】:
-
您可以关闭 linter 规则并且不要为类成员指定任何内容。将默认公开typescriptlang.org/docs/handbook/classes.html#public-by-default
-
@Pvl 这正是我所做的:
"member-access": [true, "no-public"]for TSLint
标签: typescript vue.js vuejs2 vue-component vue-class-components