0

動的にデータ(json形式)を受信して​​いるので、ボタンの背景画像を変更する必要があります。すべてのボタンにはIDが付いているため、どのボタンが操作されるかが簡単にわかります。

しかし、ボタンの背景画像を動的に操作しようとすると、問題が発生します。

ボタンの例:

<button id="1111_1111_c">Value1</button>
<button id="2222_2222_d">Value1</button>

私はそのように操作しようとしました:(JQueryを使用して)

var btnId = '2222_2222_d';
$('#' + btnId).css('background-image','url(images/btn_red.gif)');

しかし、それは何も起こりません。純粋なJQueryと同じように試してみると、機能します。

domを更新するための角度のあるdom-updaterまたはイベントがあることを知っています。しかし、それを行う方法がわかりません。

ディレクティブまたはng-classを使用するソリューションはありますか?

ありがとう!

4

1 に答える 1

1

Angularでは、model / $ scopeプロパティを変更することを検討します。これにより、HTMLビューが自動的に更新されます。(IDを操作する必要はありません。)したがって、変更するボタンでモデルプロパティを宣言します。

<button ng-class="button_1111_class" id=...>Value1</button>

(上記のbutton_1111_classは$ scopeのプロパティです。)次に、データを取得したら、コントローラーでbutton_1111_classモデルデータを変更します。例:

$scope.button_1111_class = 'red_bg_image';  // red_bg_image is a CSS class you define

ビューは自動的に更新されます。

AngularJSの外部でデータを取得する場合は、モデル/ $scopeの変更を$scopeでラップする必要がある場合があります。$apply(): ビューはAngularJSで更新されません

于 2012-10-02T18:34:20.687 に答える