クラスコンストラクターでプロパティを宣言し、「this」で「static」として宣言されているメソッドを通じてアクセスしますが、アクセスできません。静的メソッド内のコンストラクター(クラス)変数にアクセスする方法は?
export class Reporter {
constructor() {
this.jsonReports = path.join(process.cwd(), "/reports/json")
this.cucumberReporterOptions = {
jsonFile: targetJson,
output: htmlReports + "/cucumber_reporter.html",
reportSuiteAsScenarios: true,
theme: "bootstrap",
}
}
static createHTMLReport() {
try {
reporter.generate(this.cucumberReporterOptions);
} catch (err) {
}
}
}
更新しました:
「@CodingIntrigue」によると、「reporter.js」ファイルでこのように実行し、設定ファイルでReporter.createHTMLReport()としてメソッドを呼び出し、期待どおりに機能しています。しかし、これがベストプラクティスであるかどうかはわかりません。
const jsonReports = path.join(process.cwd(), "/reports/json")
const cucumberReporterOptions = {
jsonFile: targetJson,
output: htmlReports + "/cucumber_reporter.html",
reportSuiteAsScenarios: true,
theme: "bootstrap",
}
export class Reporter {
static createHTMLReport() {
try {
reporter.generate(cucumberReporterOptions);
} catch (err) {
}
}
}
回答 1 件
関連記事
- これを参照するjavascriptコンストラクターはプロパティを更新していません
- 配列をループして1つのJavaScriptオブジェクトに結合するにはどうすればよいですか?
- クラスオブジェクトが機能しないリンクリストテンプレート
- Symfony5:javascriptによって送信されたformDataオブジェクトXMLHttpRequestがコントローラーに送信されません
- ツリー型オブジェクト配列Javascriptからすべての子レコードを取得する
- クラスメソッドの戻り値の型に従ってパラメータ型を宣言するにはどうすればよいですか?
- 純粋なJavaScriptのクラスと同じスタイルを切り替えます
- JavaScriptでデータオブジェクトをマップする
- 削除された、またはユーザーが提供していないプライベートデストラクタを使用してクラスのオブジェクトを構築する(ただし、破棄しない)
- javascriptのオブジェクトプロパティで配列を並べ替える
関連した質問
- コンストラクター(props)内から状態が初期化された場合、getDerivedStateFromPropsメソッドはどのように状態にアクセスできますか?
- ネストされたオブジェクトのキーを削除しますか?
- 単一レベルのネストされたハッシュをその場で拡張する方法は?
- 他のファイルの関数から値を返すことはできません
- ブラウザ用のインポートを使用してTypeScriptファイルをコンパイルします
- JavaScript/ES6/ES7の配列でネストされた値を繰り返す
- jsファイルへのインポートは「myProperty」が定義されますが使用されません
- eventtargetを使用したWeakMap
- 配列を複数のレベルに結合する
- HTMLエンティティをエスケープし、URLを動的にレンダリングする
class
を引き続き使用する場合 構文、あなたはちょうどjsonReports
を作ることができます およびcucubmerReporterOptions
静的プロパティも: