gpt4 book ai didi

angular - Observable.of 不是具有正确导入的函数

转载 作者:太空狗 更新时间:2023-10-29 19:36:37 29 4
gpt4 key购买 nike

我在为 angular 6 中的 observable 导入“of”方法时遇到问题,即使安装了全新的项目,所有更新的包,我仍然收到错误。所以,我做了一个小项目

这是服务给予

import { Injectable } from '@angular/core';
import { TableRow } from './table-row';
import { Observable, of } from 'rxjs';

@Injectable({
providedIn: 'root'
})
export class TestTableService {

private testData : TableRow[] = [
{id:1, name:'pi', value:3.14},
{id:2, name:'euler', value:2.71},
{id:3, name:'Feigenbaum constant', value:2.50290},
{id:4, name:'Mills constant', value:1.30637},
{id:5, name:'one', value:1},
{id:6, name:'square root of 2', value:1.41421}
];

constructor() { }

public getData() : Observable<TableRow[]>
{
return Observable.of(this.testData);
}
}

这是使用它的组件:

import { Component, OnInit } from '@angular/core';
import { TestTableService } from './../test-table.service';
import { TableRow } from './../table-row';

@Component({
selector: 'app-test-table',
templateUrl: './test-table.component.html',
styleUrls: ['./test-table.component.css']
})
export class TestTableComponent implements OnInit {
tableData : TableRow[] = [];

constructor(private testTable : TestTableService) { }

ngOnInit() {
this.testTable.getData()
.subscribe(table => this.tableData = table);
}

}

注意导入与其他问题完全相同

the error I get

项目 package.json:

{
"name": "angular-table-test",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^6.0.2",
"@angular/cdk": "^6.1.0",
"@angular/common": "^6.0.2",
"@angular/compiler": "^6.0.2",
"@angular/core": "^6.0.2",
"@angular/forms": "^6.0.2",
"@angular/http": "^6.0.2",
"@angular/material": "^6.1.0",
"@angular/platform-browser": "^6.0.2",
"@angular/platform-browser-dynamic": "^6.0.2",
"@angular/router": "^6.0.2",
"core-js": "^2.5.4",
"hammerjs": "^2.0.8",
"rxjs": "^6.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular/compiler-cli": "^6.0.2",
"@angular-devkit/build-angular": "~0.6.3",
"typescript": "~2.7.2",
"@angular/cli": "~6.0.3",
"@angular/language-service": "^6.0.2",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~1.4.2",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.3.0",
"ts-node": "~5.0.1",
"tslint": "~5.9.1"
}
}

the angular cli version output

可能是什么问题?

最佳答案

rxjs 6.x中,of不再是Observable上的静态函数。

因此,您只需要调用 of(...),而不是调用 Observable.of(...)

参见 hererxjs 5.x 到 6+ 时的这个和其他迁移信息。

关于angular - Observable.of 不是具有正确导入的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50468446/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com