在Angular版本8中,如果订阅未被触发,可能是由于以下几个原因:
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
constructor(private myService: MyService) { }
ngOnInit() {
this.myService.getData().subscribe(
data => {
// 处理数据
},
error => {
// 处理错误
}
);
}
}
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
constructor(private myService: MyService) { }
ngOnInit() {
this.myService.getData().subscribe(
data => {
console.log(data); // 输出数据到控制台
},
error => {
console.error(error); // 输出错误到控制台
}
);
}
}
import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
constructor(private myService: MyService) { }
ngOnInit() {
this.myService.getData().subscribe(
data => {
console.log(data); // 输出数据到控制台
},
error => {
console.error(error); // 输出错误到控制台
}
);
}
}
@Injectable()
export class MyService {
constructor(private http: HttpClient) { }
getData(): Observable {
return this.http.get('https://api.example.com/data');
}
}
确保你的HTTP请求正确,并且能够返回数据。你可以在浏览器的开发者工具中检查网络请求和响应,以确保数据能够正确地从服务器返回。
如果以上方法都没有解决问题,可能是由于其他原因导致的订阅未被触发。在这种情况下,你可以使用调试工具(如Chrome DevTools)来进一步分析和调试你的应用程序,以找出问题所在。