2017-04-24 4 views
1

divタグの背景を設定しています。これは、表の各行のフォントの素晴らしいアイコンです。このアイコンは、表示されているオブジェクトによって異なります。私はChanging CSS content property dynamicallyのようなコードを設定しようとしました。しかし、私のデータコンテンツはユニコードになります。次のように私は、角度コントローラに値を代入しています。その後、CSS Unicodeコンテンツプロパティを動的に変更する

if (type) { 
    if (type.image.includes('fa-hand-o-up')) { 
     type.background = '\f0a6'; 
    } else if (type.image.includes('fa-wrench')) { 
     type.background = '\f0ad'; 
    } else if (type.image.includes('fa-star')) { 
     type.background = '\f005'; 
    }    
    return type; 
} 

と、次のようにテーブルにそれらを含む:

<td> 
    <div class="text-center type-wrapper" 
     data-content="{{::dataItem.type.background}}"> 
     <span class="bold">{{::dataItem.type.name}}</span> 
    </div> 
</td> 

はしかし、これは単なる背景として0A6、0ad、および005を置きます'画像'。ユニコードコンテンツを動的に追加する方法はありますか、またはプレーンテキストのためだけにattr(data-xxx)ですか?

また、私は色のattr(データカラー)を追加しようとしましたが、それはどちらかと思われません。私はプレーンテキストの代わりに16進コードを使用しているためですか?私が正しくあなたの質問を得た場合

+0

HTTP内 Unicodeの数を表し、\ uはを使用して:/ /stackoverflow.com/questions/36197443/use-fontawesome-icon-inside-a-before-pseudo-element-with-attr –

+0

上記の方法は機能しますが、AngularJSでは機能しません。それらの問題は、HTMLのデータコンテンツ属性に値をハードコードする必要があることです。私はAngularを使ってダイナミックなものが必要です。いくつかの調査の後、私はページに追加するために何らかの種類のng-xxx属性が必要になります。おそらく使用できるng-attr-xxxがありますが、動作させることができませんでした。 ngスタイルもありますが、スタイルをどこかに構築する必要があります。これは、コントローラのスタイルを私が望む以上に混合することになります。 – ChristyPiffat

答えて

1

...

span:before{ 
 
    content: attr(data-content); 
 
}
<span data-content="&#x00ff;"></span>

参照が&#で始まり、;で終わるとxは何が使われていることを意味&#x参照して前置してみてください16進数の値です。

+0

これは、HTMLをハードコードできる場合に機能します。しかし、私は、そのレコードのdataItem.typeに応じて、コンテンツをng-repeatで実行しています。 Angularでは、ng-xxxを使用してのみ動的属性を取得できます。 – ChristyPiffat

関連する問題