문제

나는 사용하고있다 cell template 의 자산 ng-grid.지시어에 하나의 함수를 정의하고 있습니다.동일한 지시문 내에서 grid-options.코드는 다음과 같습니다.

data: 'mydata',
columnDefs: [

{field:'Timeout', displayName:'Delay', cellTemplate: '<a href="" 
ng-click= "Report(Alert,Key,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'}   
        ]

그리고 기능 Report 동일한 지시문 내에서도 정의됩니다.

ng-click 클릭할 때마다 작동합니다.함수가 호출되고 있지만 전달하는 입력 변수가 무엇이든(Alert 그리고 Key)는 함수에 전달되지 않는 반면 나머지 세 매개변수는 1000,1,1 합격하고 있습니다.Alert 내가 전달하려는 하드 코딩된 문자열입니다.Key 'mydata'에 있는 정수 값 배열 중 하나입니다.이용해서 확인해보니 alert 함수의 이 두 가지 특정 값에 대해 정의되지 않음이 표시됩니다.

함수를 올바르게 호출할 수 있도록 도와주세요.미리 감사드립니다.

도움이 되었습니까?

해결책

다음과 같은 것을 원하십니까?

  $scope.Report=function(msg,key,v1,v2,v3){
    //use v1, v2, v3 for whatever you like
    alert(msg+':'+key);
  };

  $scope.gridOptions = {
    data: 'myData',
    columnDefs: [
      {
        field: 'name',
        displayName: 'Delay',
        cellTemplate: '<a href="" ng-click= "Report(\'Alert\',row.entity.age,1000,1,1);"><div class=\"ngCellText\">{{row.getProperty(col.field)}}</div></a>'
      }, {
        field: 'age'
      }
    ]
  };

하드코딩된 문자열(msg)은 이스케이프된 따옴표 안에 넣어야 합니다.나는 키의 예로 나이를 사용했습니다.이 예에서는 숫자 값이므로 따옴표가 필요하지 않습니다.

여기에는 플런커

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top