要在构造函数中将可观察值分配给服务属性,您可以使用 subscribe
方法来订阅可观察对象,并在回调函数中将值分配给属性。以下是一个示例:
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
@Injectable()
export class YourService {
data: any;
constructor() {
this.getData().subscribe(result => {
this.data = result;
});
}
getData(): Observable {
// 返回一个可观察对象,比如从服务器获取的数据
return Observable.of({ message: 'Hello World' }).delay(1000);
}
}
在上面的代码中,YourService
类具有一个 data
属性,它将在构造函数中使用 getData()
方法来分配一个值。在 getData()
方法中,我们返回了一个模拟的可观察对象,它使用 Observable.of()
来创建一个包含 { message: 'Hello World' }
的可观察对象,并使用 delay(1000)
方法来模拟延迟1秒。在构造函数中,我们使用 subscribe
方法来订阅可观察对象,并在回调函数中将结果分配给 data
属性。
请注意,此示例使用的是 RxJS 5.x 版本的语法,如果您使用的是 Angular 8,可能需要安装最新版本的 RxJS 并根据其文档进行相应的更改。