我有一个名为masterDatasourceId的属性,如下所示,我是通过ajax调用中的父组件传递的。
但是未调用watch方法。以下是我的代码。
@Prop()
masterDatasourceId!: number;
@Watch('masterDatasourceId')
masterDatasourceIdChanged(newVal: number) {
// Even though masterDatasourceId changes, it is not coming up here.
}
我在这里想念什么?我正在使用基于类样式的打字稿的vue组件。
我想使用以下getter setter方法获取它。
private _masterDatasourceId!: number;
public get masterDatasourceId(): number {
return this._masterDatasourceId;
}
@Prop()
public set masterDatasourceId(value: number) {
console.log('this I wanted to use as a watcher if possible...!!!')
this._masterDatasourceId=value;
}
但是它给出了以下运行时错误。
The computed property "masterDatasourceId" is already defined as a prop.
答案 0 :(得分:0)
似乎这需要立即为真。更改后即可工作
@Watch('masterDatasourceId', { immediate: true })
masterDatasourceIdChanged(newVal: number) {
}