Estoy desarrollando un proyecto Angular2 y creé una clase que sirve como mi clase de componente principal:
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; } } }Cuando ejecuto npm start (que ejecutará tsc -p ./), obtengo los siguientes dos errores:
app.appComponent.ts: error TS1128:Declaration or statement expected app.appComponent.ts: error TS1128:Declaration or statement expectedEn las siguientes líneas de código
---> public submitToJSON() { //SumbitJSON Object var submitJSON = { //inputData }; this.sService.POST(submitJSON); }Y en la última línea del código. He estado modificando el código todo el día, y solo se soluciona eliminando el código relacionado con OnInit. ¿Qué estoy haciendo mal? Soy nuevo en Angular2, por lo que cualquier información sería útil. También estoy ejecutando tsc versión 3.1
En mi caso solo fue necesario volver a compilar el proyecto
Acabo de tener el mismo error y desapareció después de cerrar IntelliJ y volver a abrir. Yo había estado modificando el archivo con el error. Es como si estuviera mirando una versión antigua de alguna manera.
has comentado
//inputData };Creo que la llave debería estar en la siguiente línea...
//inputData };Editar
Su función ngOnInit no debe contener otras funciones:
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; } }