2017-08-03 5 views
0

UIグリッドのcellTemplateからjavascript関数を呼び出して、その行のエンティティ値の一部をパラメータとして渡したいとします。UIをグリッドの行データをcellTemplateのjavascript呼び出しにバインドする

私が関数をhrefから直接呼び出すと、 'unsafe'が前に付加されます。

私はどのように私はそれを呼び出すと、それが適切にバインドされていなければならない?(安全ではないプリペンドを得ることはありませんが。)それが適切に結合しない属性

の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>' }, 
] 

アンギュラ1.5.0 UIグリッド4.0.6

答えて

1

私は(何..LoadDocをラップしようとするだろう)関数はあなたのコントローラ内の関数内にあると考えられ、このようにテンプレートを設定します:

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

loadDocFunction()内では、コントローラからselectedPayer.PayerRefを直接取得して、それを使用して行うことができます。

私は実際には何がjavascript:apci:LoadDoc()ですので、それはきれいにそれをきちんとラップする方法をより正確にすることは難しいです。

角度のラッパーパターンの簡単な例は、angular-socket-ioです。

関連する問題