我想从UI-Grid cellTemplate调用一个javascript函数,将一些行的实体值作为参数传递。
如果我直接从href调用该函数,它将获得“不安全”前缀。
如果我从onclick属性调用它,它没有正确绑定(虽然没有得到不安全的前置。)
我该如何调用它并使其正确绑定?
href尝试:
columnDefs: [
{ name: "DocNumber", cellTemplate: '<a href=\'javascript:apci.LoadDoc("{{grid.appScope.selectedPayer.PayerRef}}")\'>{{row.entity.DocNumber}}</a>' },
]
onclick尝试:
columnDefs: [
{ name: "DocNumber", cellTemplate: '<a href="#" onclick=\'javascript:apci.LoadDoc("{{grid.appScope.selectedPayer.PayerRef}}")\'>{{row.entity.DocNumber}}</a>' },
]
Angular 1.5.0 UI-Grid 4.0.6
答案 0 :(得分:1)
我会尝试将..LoadDoc()函数包装在控制器中的函数中,并设置模板如下:
cellTemplate: '<a ng-click="grid.appScope.loadDocFunction(row.entity)>' +
'{{ row.entity.DocNumber }}' +
'</a>"'
在loadDocFunction()中,您可以直接从控制器获取selectedPayer.PayerRef,并按照您的意愿进行操作。
我不太清楚 javascript:apci:LoadDoc()是什么,所以很难更准确地说明如何将它包装好。
角度包装图案的一个简单示例是angular-socket-io。