5

データ テーブルの列を動的な Angularjs ビューにリンクします。

Table 1 :

ID | Name | Action 

1  | Jack | Edit

編集は #/clients/1/edit へのリンクである必要があります

/clients/:id/edit (app.client_edit) は既に作成されており、機能しています。

私は以下のコードを試しています:

$scope.dataTableOpt = {
 "columnDefs": [
    {
       "targets": 0,
       "render": function ( data ) {
          return "<a ui-sref=\"app.client_view({id: $row[0]})\">Edit</a>";
       }
    }
 ],
 'ajax': 'http://localhost/admin/clients'
};

与えられた結果:

Link1 = < a ui-sref="app.client_view({'id': '1'})">edit</ a>

期待される結果:

Link2 = < a ui-sref="app.client_view({id: '1'})" class="ng-scope" href="#!/client/2">edit</ a>

ページを静的に配置< a ui-sref="app.client_view({'id': '1'})">test< / a>すると機能しますが、動的に生成されたときに機能しない理由がわかりません。

お知らせ下さい。

4

2 に答える 2

9

私のやり方:

DataTable セット オプション:

"columnDefs": [
   {
      "targets": [0, 1],
      "render": function ( data, type, row ) {
         var href = $compile('<a ui-sref="stateName({id: ' + $stateParams.id + '})"></a>')($scope)[0].href;
         return '<a href="' + href + '">' + data + '</a>';
       }
    }
]
于 2015-08-03T09:12:19.377 に答える