web-dev-qa-db-ja.com

Angular 2でオブジェクトをNgStyleディレクティブに渡す方法は?

次のようなオブジェクト変数でNgStyleディレクティブを使用しようとしています。

@Component({
      template: `
            <div [ngStyle]="object">
              some test text
           </div>`
    })

export class example {
    private object: string = "{background-color: 'white'}";
}

object = "background-color: 'red'"[ngStyle]="{object}"も試してみましたが、うまくいかないようです。メッセージエラーが表示されます:

エラー:キャッチされていません(約束されています):エラーの原因:別のサポートオブジェクトが見つかりません '{color:' white '}'(…)consoleError @ VM1051 [email protected]?main = browser:346_loop_1 @ VM1051zone。 [email protected]?main = browser:371drainMicroTaskQueue @ VM1051 [email protected]?main = browser:375ZoneTask.invoke @ VM1051 [email protected]?main = browser:297

私は何が間違っているのですか?

9

string[ngStyle]Objectを渡すと、機能します。

private object: Object = { 'background-color': 'red'};
18
Stefan Svrkota

NgStyleでも同様の問題が発生し、次のように修正しました。

[ngStyle]="{'top.px':dtPickerTop, 'left.px':dtPickerLeft}"

dtPickerTopとdtPickerLeftは、クリックイベントに基づいてコンポーネントに設定されます。

.pxを追加すると機能しましたが、追加しないと機能しなかったようです。

8
Farasi78