在Angular 6中,Observable没有正确分派的问题通常是由于未正确导入Observable类或未正确订阅Observable而导致的。
以下是一个解决此问题的示例:
首先,确保正确导入Observable类:
import { Observable } from 'rxjs/Observable';
接下来,确保正确订阅Observable并处理其返回的数据:
// 在组件类中定义一个Observable
dataObservable: Observable;
// 在某个方法中订阅Observable并处理数据
getData() {
this.dataObservable.subscribe(
data => {
// 处理返回的数据
console.log(data);
},
error => {
// 处理错误
console.error(error);
}
);
}
另外,确保在组件类中正确注入服务并使用它来获取Observable:
import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
@Injectable()
export class DataService {
constructor(private http: HttpClient) {}
getData(): Observable {
return this.http.get('https://api.example.com/data');
}
}
在组件类中使用该服务获取Observable:
import { Component } from '@angular/core';
import { DataService } from './data.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
constructor(private dataService: DataService) {}
getData() {
this.dataService.getData().subscribe(
data => {
// 处理返回的数据
console.log(data);
},
error => {
// 处理错误
console.error(error);
}
);
}
}
请注意,上述示例中的代码仅用于演示目的。实际使用中,您可能需要根据您的需求进行适当的修改。