2014-12-24 1 views
0

페이징 된 테이블 (primeface datatable)을 사용하여 페이지를 변경하면 내용이 ajax를 통해로드됩니다. ajax 요청이 완료되면 data-ng-click 속성이 모든 행에 추가됩니다.각도 js ng-click은 데이터 테이블의 행에 프로그래밍 방식으로 추가되었습니다.

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 기능을 : 여기

는 그럴 필요가 내가 추가하는 방법을 데이터 NG가-클릭 그럴 필요하는 속성 여기

<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" > 

를 렌더링하는 방법과 각 응용 프로그램 및 컨트롤러로 정의하는 방법이다 페이지가로드 될 때마다 페이지가 변경 될 때마다 실행됩니다.

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

페이지 이벤트가 발생한 후 dat 클릭 한 번을 무시합니다. 이유가 무엇입니까?

+0

을 작업 NG 클릭을 얻을 수있는 요소에 $ 컴파일 서비스를 실행하는 데 필요가 있다고 생각합니다. 어쩌면 이것을 읽으십시오 : http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background –

+0

나는 primefaces datatable의 힘을 결합하여 마스터/디테일 뷰를 만들려고합니다. 및 angularjs. 데이터 테이블을 수정할 수 없습니다. 결국 나는 그들을 따로 다루기로했다. 그러나 답장을 보내 주셔서 감사합니다. – longy

답변

0

나는 당신이 jQuery를 사용하여 테이블을 만드는 이유는

+0

이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남기십시오. 자신의 게시물에 언제나 댓글을 달 수 있으며 충분한 [평판] (http://stackoverflow.com/help/whats-reputation)을 갖게되면 [모든 게시물에 댓글을 달 수] 있어야합니다 (http://stackoverflow.com/help/privileges/comment). – soyuka

+0

각도가 지시어를 링크 한 후 DOM에서 hte ngClick 지시문과 같은 새로운 속성을 추가 할 때 $ compile 각도 서비스를 호출하여 서비스가 DOM 요소에 변경 사항을 바인딩 할 때 바인딩해야합니다. –

관련 문제