0

各モーダルのボタンリストからボタンを追加しようとしています。

脚本:

  var buttonList2 = [{displayName: 'Save', class: 'save'},
                     {displayName: 'Cancel', class: 'cancel'}];

HTML:

<button class="btn" type="button" ng-repeat = "item in buttonList" ng-class="{{item.class}}">{{item.displayName}}</button>

各ボタンには独自のクラスがあるため、リスト クラス プロパティに追加しました。しかし、ng-class には {{item.class}} が表示されません

そして、これらのボタンに機能を追加することはできません。私はこれを試しました:

  $('.cancel').attr('ng-click','cancel()');
  $compile($('.cancel'))($scope);
  $('.save').attr('ng-click','save()');
  $compile($('.save'))($scope); 

http://plnkr.co/edit/NeLthqUuZtw0VyVzd0Ig?p=preview

4

2 に答える 2

1

css クラスを動的に適用するにはng-class="item.class"{{}}.

ボタンにコールバックを追加するには、特定の機能を保持する追加のプロパティをボタンに追加します。

var buttonList2 = [
    {displayName: 'Save', class: 'save', callback: function(){alert('saving');}},
    {displayName: 'Cancel', class: 'cancel', callback: function(){alert('cancelling');}}
];

あなたのng-repeat中でそれらを適用することができます:

<button type="button" ng-repeat="item in buttonList2" ng-click="item.callback()" ng-class="item.class">{{item.displayName}}</button>
于 2016-04-18T11:53:17.280 に答える
0

これはおそらくコメントするのが最善ですが、まだコメントすることはできません.

することは可能ですか/悪い習慣:

class="{{item.class}}"
于 2016-04-18T11:16:45.833 に答える