将 UI 网格行数据绑定到 cellTemplate 中的 javascript 调用

Binding UI Grid row data to javascript call in cellTemplate

我想从 UI-Grid cellTemplate 调用 javascript 函数,将行的一些实体值作为参数传递。

如果我直接从 href 调用该函数,它会得到 'unsafe' 前缀。

如果我从 onclick 属性调用它,它不会正确绑定(尽管没有预先设置不安全。)

如何调用和正确绑定?

href 尝试:

columnDefs: [
    { name: "DocNumber", cellTemplate: '<a href=\'javascript:apci.LoadDoc("{{grid.appScope.selectedPayer.PayerRef}}")\'>{{row.entity.DocNumber}}</a>' },
]

点击尝试次数:

columnDefs: [
    { name: "DocNumber", cellTemplate: '<a href="#" onclick=\'javascript:apci.LoadDoc("{{grid.appScope.selectedPayer.PayerRef}}")\'>{{row.entity.DocNumber}}</a>' },
]

Angular 1.5.0 UI-网格 4.0.6

我会尝试包装任何 ..LoadDoc() 函数应该在您的控制器中的函数中,并像这样设置模板:

cellTemplate: '<a ng-click="grid.appScope.loadDocFunction(row.entity)>' +
                '{{ row.entity.DocNumber }}' + 
              '</a>"'

在 loadDocFunction() 中,您可以直接从控制器获取 selectedPayer.PayerRef,并随心所欲地使用它。

我不太清楚 javascript:apci:LoadDoc() 是什么,所以很难更准确地说明如何很好地包装它。

angular 中包装器模式的一个简单示例是 angular-socket-io