具有承诺的KendoUI网格单元模板

时间:2017-07-10 13:38:01

标签: javascript angularjs kendo-ui telerik

我必须使用模板来翻译网格的单元格值。

由于某些原因,我要求翻译的函数是返回一个承诺。

我发现以下与我的问题相关的主题

Asynchronous cell template

我正在使用角度方法

  

纳克绑定-HTML

$scope.lookUpEventNameAsync = function(data) {

    refData.events().fetch(function() {
        var eData = refData.events().data();
        var refEvent = eData.find(function(re, i, a) {
            return re.code === data.eventCode;
        });
        $("#async_tse_" + data.key).html(refEvent.name);
    });

    return $sce.trustAsHtml("<div id='async_tse_" + data.key + "'> </div>");
};

$scope.gridTimesheetColumns = [
    {
        field: "eventCode",
        title: "Event", 
        template: "<span ng-bind-html='lookUpEventNameAsync(dataItem)'> </span>"
    },
....

我做了类似的事情,用我的代码调整它,它正在工作。

但现在的问题是它多次调用$scope.lookUpEventNameAsync并且永远不会停止调用它,这会冻结屏幕并使应用程序无法使用。

你知道为什么以及如何预防呢?

1 个答案:

答案 0 :(得分:0)

我需要单向数据绑定,如下所示:

$scope.gridTimesheetColumns = [
{
    field: "eventCode",
    title: "Event", 
    template: "<span ng-bind-html='::lookUpEventNameAsync(dataItem)'> </span>"
},