2017-01-25 5 views
1

私は簡単なことをしようとしていますが、私のニーズを満たす例は見つけられません。私はajaxスピナーをレンダリングするシンプルなコンポーネントを持っていますが、コンシューマがクラスまたは複数のクラス(スペースで区切られた)をコンポーネントへの入力パラメータとして渡し、コンポーネントビューテンプレートでクラスをimgタグに追加できるようにしたいテンプレート。ここに私のコンポーネントである:ここではAngular2 CSSクラスをコンポーネント変数値に設定

import { Component, OnInit, Input } from '@angular/core'; 

@Component({ 
    moduleId: module.id, 
    selector: 'loading', 
    templateUrl: 'loading.html', 
    inputs: ['imgClass'] 

}) 

export class LoadingComponent { 
    @Input() imgClass: string; 
} 

は、ビューテンプレートである:ここで

<img [ngClass]="{ imgClass : true}" src="./Content/img/loading_spinner.gif" /> 

は、私はそれを使用する方法である:

<div class="row" *ngIf="isLoading"> 
     <div class="col-xs-4"></div> 
     <div class="col-xs-4 no-pad"><loading [imgClass]="center-block"></loading></div> 
     <div class="col-xs-4"></div> 
    </div> 

は、だから私は、センターブロックを追加することにしたいです読み込みコンポーネントを介してimgタグに渡しますが、動作していないようです。

アプリは、マークアップはこれですロード: enter image description here

それはそれはクラスとしてリテラル「imgClass」を追加していますimgClass変数の値を取得していません。

+0

iは

答えて

3

変更ビューテンプレート:

<img class="{{imgClass}}" src="./Content/img/loading_spinner.gif" /> 

これは、あなたのニーズのためのより良いフィットします。

+0

を使用してみてください、あなたのソリューションの私の実装に私の問題でした。私は次のように変更しました:とその動作。ありがとう! – cobolstinks

+0

[OK]を取得[クラス] =「i​​mgClass」 – cobolstinks

2

だけ

<img [ngClass]="imgClass" 

ngClass文字列[]、オブジェクトをサポートし、パラメータとして文字列

class="{{...}}" 

は、しばらく前に、モバイルSafare上の問題を引き起こしたが、私はこれがで修正されました覚えているからポリフィル。私は私のクラス名の前後に単一引用符を持っていませんでしそれを使用したとき、私はこのソリューションをしようとすると

関連する問題