Angular Typescript-代码无法从错误TS1128生成:预期声明或语句,但在提供代码时按预期运行
我正在开发一个Angular2项目,我创建了一个类作为我的主要组件类:Angular Typescript-代码无法从错误TS1128生成:预期声明或语句,但在提供代码时按预期运行,angular,npm,Angular,Npm,我正在开发一个Angular2项目,我创建了一个类作为我的主要组件类: import { Component, OnInit} from '@angular/core'; import { submitService } from './Common-functions/submit.service'; @Component({ selector: 'my-app', template: `htmlCode` }) export class AppComponent implements
import { Component, OnInit} from '@angular/core';
import { submitService } from './Common-functions/submit.service';
@Component({
selector: 'my-app',
template: `htmlCode`
})
export class AppComponent implements OnInit{
hideTable = true;
lengthOfRecords = 0;
lowerLimit = 0;
upperLimit = 5;
prevButtonDisabled = true;
nextButtonDisabled = false;
//User inputs
constructor(private sService:submitService) { }
ngOnInit() {
public submitToJSON() {
//SumbitJSON Object
var submitJSON = {
//inputData
};
this.sService.POST(submitJSON);
}
public returnDetails() {
this.listOfIDs = {//ListData};
this.hideTable = false;
var keys = Object.keys(this.listOfIDs);
var len = keys.length;
this.lengthOfRecords = len;
}
public prev() {
if(this.lowerLimit <= 0) {
;
}
else {
this.lowerLimit = this.lowerLimit - 6;
this.upperLimit = this.upperLimit - 5;
this.nextButtonDisabled = false;
if(this.lowerLimit <= 0) {
this.prevButtonDisabled = true;
}
}
}
public next() {
if(this.upperLimit >= this.lengthOfRecords) {
;
}
else {
this.lowerLimit = this.lowerLimit + 6;
this.upperLimit = this.upperLimit + 5;
this.prevButtonDisabled = false;
if(this.upperLimit >= this.lengthOfRecords) {
this.nextButtonDisabled = true;
}
}
}
getEntries(obj, from, to) {
if(obj!=null) {
var entries = [];
for(var key in obj) {
// extract index after `app`
var index = key.substring(3);
if(index >= from && index <= to) {
entries.push( obj[key]);
}
}
return entries;
}
}
}
在下面的代码行中
---> public submitToJSON() {
//SumbitJSON Object
var submitJSON = {
//inputData };
this.sService.POST(submitJSON);
}
在代码的最后一行。我一整天都在修改代码,只有删除与OnInit相关的代码才能修复它。我做错了什么?我是Angular2的新手,所以任何信息都会有帮助。我也在运行tsc 3.1版您的评论
//inputData };
我想大括号应该在下一行
//inputData
};
编辑
ngOnInit函数不应包含其他函数:
import { Component, OnInit} from '@angular/core';
import { submitService } from './Common-functions/submit.service';
@Component({
selector: 'my-app',
template: `htmlCode`
})
export class AppComponent implements OnInit{
hideTable = true;
lengthOfRecords = 0;
lowerLimit = 0;
upperLimit = 5;
prevButtonDisabled = true;
nextButtonDisabled = false;
//User inputs
constructor(private sService:submitService) { }
ngOnInit() {
// Add any initialization code here
}
submitToJSON() {
//SumbitJSON Object
var submitJSON = {
//inputData
};
this.sService.POST(submitJSON);
}
returnDetails() {
this.listOfIDs = {//ListData};
this.hideTable = false;
var keys = Object.keys(this.listOfIDs);
var len = keys.length;
this.lengthOfRecords = len;
}
prev() {
if(this.lowerLimit <= 0) {
;
}
else {
this.lowerLimit = this.lowerLimit - 6;
this.upperLimit = this.upperLimit - 5;
this.nextButtonDisabled = false;
if(this.lowerLimit <= 0) {
this.prevButtonDisabled = true;
}
}
}
next() {
if(this.upperLimit >= this.lengthOfRecords) {
;
}
else {
this.lowerLimit = this.lowerLimit + 6;
this.upperLimit = this.upperLimit + 5;
this.prevButtonDisabled = false;
if(this.upperLimit >= this.lengthOfRecords) {
this.nextButtonDisabled = true;
}
}
}
getEntries(obj, from, to) {
if(obj!=null) {
var entries = [];
for(var key in obj) {
// extract index after `app`
var index = key.substring(3);
if(index >= from && index <= to) {
entries.push( obj[key]);
}
}
return entries;
}
}
从'@angular/core'导入{Component,OnInit};
从“./Common functions/submit.service”导入{submitService};
@组成部分({
选择器:“我的应用程序”,
模板:`htmlCode`
})
导出类AppComponent实现OnInit{
隐藏=真实;
长度=0;
lowerLimit=0;
上限=5;
prevButtonDisabled=真;
nextButtonDisabled=错误;
//用户输入
构造函数(私有sService:submitService){}
恩戈尼尼特(){
//在此处添加任何初始化代码
}
submitToJSON(){
//SumbitJSON对象
var submitJSON={
//输入数据
};
this.sService.POST(submitJSON);
}
返回详细信息(){
this.listOfIDs={//ListData};
this.hideTable=false;
var keys=Object.keys(this.listOfIDs);
var len=keys.length;
this.lengthOfRecords=len;
}
prev(){
if(this.lowerLimit=this.lengthOfRecords){
this.nextButtonDisabled=true;
}
}
}
getEntries(对象、发件人、收件人){
如果(obj!=null){
var分录=[];
for(obj中的var键){
//在'app'之后提取索引`
var指数=关键子串(3);
如果(index>=from&&index在我的例子中,只是需要重新编译,那么项目就出现了相同的错误,并且在关闭IntelliJ并重新打开后就消失了。我一直在修改带有错误的文件。就好像它不知怎的在查看旧版本一样。在Visual Studio代码中,我不得不终止npm start
然后再跑
npm run start
嗨!对不起,我在我发布到StackOverflow时这么做了,只是为了不太详细。代码在下一行有一个花括号。我会修复它ngOnInit函数不应该包含其他函数。我已经更新了我的回复,以包括我认为你的ngOnInit应该是什么。谢谢,这确实有帮助!我想我没有完全理解Onniit教程。但是,当我现在尝试构建代码时,我收到消息“error TS2346:提供的参数与调用目标的任何签名都不匹配”。这是否意味着我没有正确创建submitService类的对象?事实上,我发现了这一点,这是一个愚蠢的错误!我将此标记为答案,因为它解决了我的问题:)我的WebStorm在重新打开后也得到了修复。WebStorm(也是Jetbrains产品)上的Thanksame东西。没想到重新启动会起作用,但它做到了!谢谢:)
npm run start