1. ホーム
  2. angular

[解決済み] Angular 2でコンポーネントの静的変数をHTMLにバインドする方法は?

2023-01-22 22:55:23

質問

HTMLページでコンポーネントの静的変数を使用したいです。 angular2でコンポーネントの静的変数をHTML要素にバインドする方法を教えてください。

import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs/Rx';
@Component({
  moduleId: module.id,
  selector: 'url',
  templateUrl: 'url.component.html',
  styleUrls: ['url.component.css']
})
export class UrlComponent {

  static urlArray;
  constructor() {
  UrlComponent.urlArray=" Inside Contructor"
  }
}

<div>
  url works!
   {{urlArray}}
</div >

どのように解決するのですか?

コンポーネントテンプレート内のバインド式のスコープは、コンポーネントクラスのインスタンスです。

グローバルやスタティックを直接参照することはできません。

回避策として、コンポーネントクラスにゲッターを追加することができます。

export class UrlComponent {

  static urlArray;
  constructor() {
    UrlComponent.urlArray = "Inside Contructor";
  }

  get staticUrlArray() {
    return UrlComponent.urlArray;
  }

}

といった感じで使います。

<div>
  url works! {{staticUrlArray}}
</div>