我有一个小问题,如何让这段代码工作:
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl,FormBuilder, Validators } from '@angular/forms';
import { Http, Response, Headers } from '@angular/http';
import { Router, ActivatedRoute, Params } from '@angular/router';
import { map,share } from 'rxjs/operators';
import {DataService} from '../data.service';
@Component({
selector: 'app-change-room',
templateUrl: './change-room.component.html',
styleUrls: ['./change-room.component.css'],
})
export class ChangeRoomComponent implements OnInit {
data: Array[Object];//error
registerForm: FormGroup;
http: Http;
router: Router;
postResponse: String;
constructor(builder: FormBuilder, http: Http, router: Router, private dataService: DataService,route: ActivatedRoute) {
this.data = this.dataService.getData();
console.log(this.data[0].roomname, this.data.tv);
this.http = http;
this.router = router;
this.registerForm = builder.group({
roomName: [""+this.data[0].roomname],
hasTV: [""+this.data[0].tv],
beds: [""+this.data[0].beds]
});
}
ngOnInit() {
}
onModifyRoom(): void {
var data1 = "roomName="+this.registerForm.value.roomName+"&hasTV="+this.registerForm.value.hasTV+"&beds="+this.registerForm.value.beds+"&brojkvadrata="+this.registerForm.value.brojkvadrata;
var headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
this.http.post('http://localhost/it255/updateroom.php', data1, {headers: headers}).subscribe((result) => {
this.router.navigateByUrl('rooms');
alert("Succesfully changed room")
}, (error) => {
this.router.navigateByUrl('aboutus');
});
}
}我得到这样的错误:泛型类型'Array‘需要1个类型参数。泛型类型“Array”需要1个类型参数。
我应该怎么做才能让它在angular 6中工作,当我在angular 2中尝试时,它就起作用了。
发布于 2018-06-11 20:51:23
data: Array[Object]不是有效的TS语法。
如果想要将变量data定义为对象数组,可以这样做
data: Object[];或
data: Array<Object>;https://stackoverflow.com/questions/50798186
复制相似问题