Javascript 角度特性'$参考';类型'中缺少;安格拉消防队员<;{}>;
我犯了这个错误 /Users/macmini/Desktop/newap/src/app/component/content/content.component.ts(18,5):类型“AngularFireList”不可分配给类型“FirebaseListObservable” 类型“AngularFireList”中缺少属性“$ref” 组件技术Javascript 角度特性'$参考';类型'中缺少;安格拉消防队员<;{}>;,javascript,angular,firebase,angular2-services,Javascript,Angular,Firebase,Angular2 Services,我犯了这个错误 /Users/macmini/Desktop/newap/src/app/component/content/content.component.ts(18,5):类型“AngularFireList”不可分配给类型“FirebaseListObservable” 类型“AngularFireList”中缺少属性“$ref” 组件技术 import { Component, OnInit } from '@angular/core'; import {Subscription}
import { Component, OnInit } from '@angular/core';
import {Subscription} from 'rxjs';
import {AngularFireDatabase } from 'angularfire2/database';
import {FirebaseListObservable} from 'angularfire2/database-deprecated';
@Component({
selector: 'app-content',
templateUrl: './content.component.html',
styleUrls: ['./content.component.css']
})
export class ContentComponent implements OnInit {
courses$:FirebaseListObservable<any[]>;
constructor(db:AngularFireDatabase){
this.courses$ = db.list('/courses');
}
ngOnInit() {
}
}
包.ison
{
"name": "newap",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^4.0.0",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"angularfire2": "^5.0.0-rc.3",
"core-js": "^2.4.1",
"firebase": "^4.7.0",
"rxjs": "^5.0.1",
"xjs": "^0.1.6",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "1.1.0",
"@angular/compiler-cli": "^4.0.0",
"@angular/language-service": "^4.0.0",
"@types/jasmine": "2.5.45",
"@types/node": "~6.0.60",
"angular2": "^2.0.0-beta.21",
"codelyzer": "~3.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.0.4",
"tslint": "~5.3.2",
"typescript": "~2.3.3"
}
}
我使用angular和nodejs版本
@angular/cli:1.1.0
节点:8.11.2
os:darwin x64我认为问题与您正在使用一种不推荐的访问列表数据的方法有关。请参阅有关访问列表的信息 它提供了不使用
FirebaseListObservable
的示例:
import { Component } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { Observable } from 'rxjs';
@Component({
selector: 'app-root',
template: `
<ul>
<li *ngFor="let item of items | async">
{{ item | json }}
</li>
</ul>
`,
})
export class AppComponent {
items: Observable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('items').valueChanges();
}
}
从'@angular/core'导入{Component};
从“angularfire2/database”导入{AngularFireDatabase};
从“rxjs”导入{Observable};
@组成部分({
选择器:'应用程序根',
模板:`
-
{{item | json}}
`,
})
导出类AppComponent{
项目:可观察;
构造函数(db:AngularFireDatabase){
this.items=db.list('items').valueChanges();
}
}
我使用angular2版本:1.1.0节点:8.11.2 os:darwin x64这里的重要包是Angularfire2包。。。不是您的Angular CLI版本,不是您的节点版本,当然也不是您的操作系统。在你的TypeScript和HTML文件中调整你的代码,这样它就不会使用Angularfire2中不推荐的部分,你就不会再收到这个错误了。谢谢你的回答,我感谢你的努力,我想看看这个问题,它也与observable相关
{
"name": "newap",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^4.0.0",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"angularfire2": "^5.0.0-rc.3",
"core-js": "^2.4.1",
"firebase": "^4.7.0",
"rxjs": "^5.0.1",
"xjs": "^0.1.6",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "1.1.0",
"@angular/compiler-cli": "^4.0.0",
"@angular/language-service": "^4.0.0",
"@types/jasmine": "2.5.45",
"@types/node": "~6.0.60",
"angular2": "^2.0.0-beta.21",
"codelyzer": "~3.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.0.4",
"tslint": "~5.3.2",
"typescript": "~2.3.3"
}
}
import { Component } from '@angular/core';
import { AngularFireDatabase } from 'angularfire2/database';
import { Observable } from 'rxjs';
@Component({
selector: 'app-root',
template: `
<ul>
<li *ngFor="let item of items | async">
{{ item | json }}
</li>
</ul>
`,
})
export class AppComponent {
items: Observable<any[]>;
constructor(db: AngularFireDatabase) {
this.items = db.list('items').valueChanges();
}
}