[解決済み] Typescript - コードが TS1128: Declaration or Statement expected というエラーでビルドに失敗するが、コードを提供すると期待通りに実行される。
2022-02-04 12:12:54
質問
Angular2プロジェクトを開発しており、メインのComponentクラスとして機能するクラスを作成しました。
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;
}
}
}
npm startを実行すると(tsc -p ./が実行される)、次の2つのエラーが発生します。
app.appComponent.ts: error TS1128:Declaration or statement expected
app.appComponent.ts: error TS1128:Declaration or statement expected
次のコードの行で
---> 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;
}
}
関連
-
[解決済み】angularJS2プロジェクトでsystemjs.config.jsファイルをどこに置くか/見つけるか?
-
[解決済み] Angular material Angular Material コアテーマが見つかりませんでした。
-
[解決済み] 型 '{}' は型 '{ title: string; text: string; }' に代入できません。
-
[解決済み] チョキダーからのエラー(C:┣ᴗ┣)。Error: EBUSY: resource busy or locked, lstat 'C:\DumpStack.log.tmp.
-
[解決済み] webpack のアップグレード後、名前空間 NodeJS が見つからない
-
[解決済み] ActivatedRouteSnapshot の注入ができない。
-
[解決済み] ag-gridで「表示する行がありません」テキストをプログラムで変更するにはどうすればよいですか?
-
[解決済み] Angular2 Selectorが、ネストしたComponentのどの要素にもマッチしない。
-
[解決済み] Angular CLI Error: serveコマンドはAngularプロジェクトで実行する必要がありますが、プロジェクト定義が見つかりませんでした。
-
[解決済み] The Angular Compiler requires TypeScript >=3.1.1 and <3.2.0 but 3.2.1 found insteadでエラーが発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ERR_INVALID_HTTP_RESPONSEをAngular 7とASP.Net Core 2.2を使ってGoogle Chromeブラウザーで使用する場合
-
[解決済み】Angular2エラー。exportAs "が "ngForm "に設定されたディレクティブは存在しません。
-
[解決済み】本番モードを有効にするには?
-
[解決済み] FormBuilder のプロバイダがない [重複] 。
-
[解決済み] LegendItemComponent をカスタマイズする Angular 用 kendo-ui
-
[解決済み] ng serve または firebase serve を終了させる方法
-
[解決済み] プロパティ 'json' はタイプ 'Object' に存在しません。
-
[解決済み] モジュール "ionic-native" が見つかりません。
-
[解決済み] Angular2において、テンプレートを必要としないコンポーネントがありますが、テンプレートエラーが発生します。
-
[解決済み] Angular2の素材ダイアログに問題あり - @NgModule.entryComponentsに追加しましたか?