2016-07-08 2 views
3

에서 작동 HTML을 구축하는 방법은 다음과 requested- http://plnkr.co/edit/tIkBFO?p=preview각도 UI 그리드는 다음 cellTemplate와 HTML을 결합, 동적 겨 클릭은

나는 controllerAs 패턴을 사용하고 같은 plunker이다. 필터 ($ sce)를 사용하여 셀 템플릿을 사용하여 위생적으로 처리 한 다음 HTML을 작성했습니다. 내 인생에서 ng-click을 내 컨트롤러에 등록 할 수 없습니다.

셀 템플릿을 cellTemplate : '<button ng-click="grid.appScope.user.delete(\'works!\')">X</button>' ->이 형식으로 변경할 수 있습니다.

어쨌든 셀 템플리트를 사용하지 않고 컨트롤러를 계속 사용합니까? 세부 정보 열은 문제가있는 곳입니다.

읽어 주셔서 감사합니다.

https://github.com/angular-ui/ui-grid/issues/4116

https://github.com/angular-ui/ui-grid/issues/4886

문제 - 관련 다음 여기에 코드 -

 var user = this; 

     user.gridDefs = [{ 
          displayName: 'User ID', 
          name: 'userId', 
          width: "10%" 
         }, { 
          name: 'firstName', 
          width: "15%" 
         }, { 
          name: 'lastName', 
          width: "15%" 
         }, { 
          name: 'email', 
          cellTemplate: '<div ng-bind-html="COL_FIELD |trustedclean"></div>', 
          width: "25%" 
         }, { 
          name: 'username', 
          width: "15%" 
         }, { 
          name: 'details', 
          cellTemplate:'<div ng-bind-html="COL_FIELD |trustedclean"></div>' 
          width: "20%" 
         }, ]; 

user.gridData = _.map(dataFromSvc.users, function(user) { 
        var buildDetailsString = buildDetails(user.uid); 
        var object = { 
         'userId': user.Id, 
         'firstName': user.firstName, 
         'lastName': user.lastName, 
         'email': '<a href=\"mailto:' + user.primaryEmail + '\">' + user.primaryEmail + '</a>', 
         'username': user.uid, 
         'details': '<div><a href=\"#/viewuser/'+user.uid+'/true\">View</a>/<a ng-click=\"user.deleteUser('+user.uid+')\">Delete</a></div>' 
        return object; 
       }); 

    user.deleteUser = function(uid) { 
        console.log(uid); 

       }; 

내 자신의 질문 - 응답, HTML

<div id="grid2" ui-grid="{ data: user.gridData, columnDefs:user.gridDefs}" class="grid"></div> 
+1

, 나는 그것을 살펴 것 죄송합니다 – panzhuli

+0

는 working- http://plnkr.co/edit/tIkBFO?p=preview – apaul

+1

의 모습을 얻을 걸 렸어요 cellTemplate을 사용하여 올바르게 수행하고 있습니다. 당신이 그것을 사용하고 싶지 않은 이유가 있습니까? 그것은 무엇을위한 것입니까 ... js에서 HTML이 마음에 들지 않으면 쉽게 외부 파일을 사용할 수 있습니다 ... – panzhuli

답변

-1

입니다

위생 처리를 수행하지 말고 ui-grid에서 ng-bind를 사용하십시오. 템플릿을 사용하여 셀을 관리하십시오. 이것이 내가 한 일이다. 당신이 plunkr을 만들 수 있다면

cellTemplate:dynamicTemplate