ng-grid의 셀 템플릿
-
26-12-2019 - |
문제
나는 사용하고있다 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)은 이스케이프된 따옴표 안에 넣어야 합니다.나는 키의 예로 나이를 사용했습니다.이 예에서는 숫자 값이므로 따옴표가 필요하지 않습니다.
여기에는 플런커
제휴하지 않습니다 StackOverflow