Kendo模板中的功能:Angular JS1.6

时间:2018-12-12 05:55:25

标签: javascript angularjs kendo-ui kendo-grid

我有一个这样的货币列:

{
  field: 'INVOICE_AMOUNT_ORIGINAL',
  title: $translate.instant('invoiceAmount'),
  format: '{0:n}',
  template: '#= currency(dataItem.INVOICE_AMOUNT_ORIGINAL)#',
  headerTemplate: '{{ \'invAmount\' | translate }}',
  attributes: {
    style: 'text-align: right;'
  },
  width: 115
}

我有一个功能

function currency(currencyValue) {
  kendo.culture('de-DE'); 
  kendo.toString(currencyValue, 'c2'); 
}

但是即使在模板中应用了正确的语法后,该函数也不会被调用。

我试图通过函数在模板中传递诸如de-DE或en-US之类的值,以便任何用户每次对其设置首选项时,它都会在kendo网格中动态更改,

我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试将函数货币放入$ scope中。我不知道您的模板如何工作,但我认为问题在于您的模板字段看不到该功能。

$scope.currency = function(currencyValue) {
    kendo.culture('de-DE'); 
    kendo.toString(currencyValue, 'c2');
};

另一种选择是像在headerTemplate中一样在字段中使用表达式。

template: '#= {{currency(dataItem.INVOICE_AMOUNT_ORIGINAL)}}#'