1

ページにいくつかの動的要素 (リストなど) があります。各要素に onClick アクションのハンドラを追加したいのですが、各要素は指定されたデータでこのハンドラを呼び出す必要があります。

私はこれを試しました:

js:

$scope.data = [
      {
        id: 1,
        name: "1",
        order: "10"
      },    
      {
        id: 2,
        name: "2",
        order: "20"
      },    
      {
        id: 3,
        name: "3",
        order: "30"
      }
    ];

html:

  <div ng-repeat="item in data" name="{{ 'name_' + item.id }}" ng-click="onClick({{ '\'name_' + item.id +'\'' }})" value="item">
    Item name is "{{ item.name }}"
  </div>

dom を観察していると、正しい html: ng-click="onClick('name_1')" が表示されますが、行をクリックしても何も起こりません。なんで?(また、コンソールで angularJS によって長い赤いエラーが発生し、本当に間違っていると言っています)

どうすれば私が望むものを達成できますか? 私はそれが私のやり方で行われなければならないとは言いません。別のアプローチがあるかもしれません-私のものよりも優れています(角度プロパティを使用するなど(ng-repeatのように:$ index))

4

1 に答える 1

2

ngClickディレクティブには式が必要です。その中に何も補間しないでください。したがって、次のようになります。

ng-click="onClick('name_' + item.id)"
于 2014-11-16T09:40:54.423 に答える