2014-12-24 21 views
0

我有一個分頁表(primeface datatable),更改頁面,內容通過ajax加載。 完成ajax請求事件後,將data-ng-click屬性添加到所有行。angular js ng-click以編程方式添加到數據表中的行

這裏是TR如何呈現

<tr data-ng-click="init(1,2)" class="ui-widget-content ui-datatable-even ui-datatable-selectable ui-state-highlight" aria-selected="true" role="row" data-rk="1-2" data-ri="0" > 

這是我如何添加數據-NG-點擊屬性TR,以及如何角的應用程序和控制器的定義:

angularizeDataTable(); 

function angularizeDataTable(){ 
    $("[data-rk]").each(function(i, val){ 
     idt = $(this).attr("data-rk").split("-")[0]; 
     idv = $(this).attr("data-rk").split("-")[1]; 
     $(this).attr("data-ng-click", "init("+idt+","+idv+")"); 
    }) 
    .promise().done(function(){ 
     app = angular.module('myapp', []); 
     app.controller('MainController', function($scope, $http){ 
      $scope.init = function(idt,idv){ 
       alert(idt+","+idv); 
      }; 
     }); 
    }); 
} 

angularizeDataTable功能是頁面加載執行,每當我改變頁面

<p:ajax event="page" oncomplete="angularizeDataTable()" /> 

但頁面事件後,火災,dat a-ng-click會被忽略,爲什麼?

+0

爲什麼用jQuery創建表。也許閱讀本:http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background –

+0

我想創建主要/詳細視圖結合primefaces數據表的力量和angularjs。我無法修改數據表。最後我選擇分開處理它們。不過謝謝你的回覆。 – longy

回答

0

我認爲你需要在元素上運行$ compile服務來獲得ng-click工作

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 – soyuka

+0

在angular鏈接指令後,在DOM中添加諸如hte ngClick指令之類的新屬性時,必須調用$ compile角度服務,以便在服務發生更改時將服務綁定到DOM元素。 –

相關問題