angularjs - 使用 CellTemplate 和指令在 ng-grid 的单元格中使用 jQuery Sparkline

标签 angularjs directive ng-grid sparklines celltemplate

我正在尝试将 jQuery Sparkline 引入 ng-grid 中一个单元格的每一行。该列包含数值数组数据。

Plunkr --> http://plnkr.co/edit/1eNEcx6FQWcJynlVYvFw?p=preview

我使用带有单元模板的指令来实现此目的。

单元格模板:

指令:

app.directive('ngAge', function() {
  return{
    restrict: 'C',
    replace: true,
    translude: true,
    scope: {ngAgeData: '@'},
    template: '<div>' +
              '<div class="sparklines"></div>' +
                '</div>',
    link: function(scope,element,attrs){
     // var arrvalue= "3386.24000,1107.04000,3418.80000,3353.68000,4232.80000,3874.64000,3483.92000,2735.04000,2474.56000,3288.56000,4395.60000,1107.04000";
     //console.log(attrs.ngAgeData);
     var arrvalue = attrs.ngAgeData;
     var myvalues = new Array();
     myvalues = arrvalue.split(",");
     $('.sparklines').sparkline(myvalues); 

    }
  }
});

我在链接函数内获取 attrs.ngAgeData 值时遇到困难。我不确定我错过了什么。请帮忙!!!

谢谢

最佳答案

使用此单元格模板:

cellTemplate: '<div age-line agedata=row.entity.age></div>'

请注意,值作为属性传递。

该指令应该是:

app.directive('ageLine', function () {
    return {
        restrict: 'A',
        scope: { agedata: '=' },
        link: function (scope, elem) {
            scope.$watch('agedata', function (newval) {
                elem.sparkline(scope.agedata);
            });
        }
    };
});

另请注意,您不需要 $.,因为该元素已经是一个 jquery(lite) 对象。

这是一个正在工作的插件:http://plnkr.co/edit/oDbPp9DGFCGGZF30Bzsi?p=preview

关于angularjs - 使用 CellTemplate 和指令在 ng-grid 的单元格中使用 jQuery Sparkline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18159347/

相关文章:

javascript - 将 Ajax 数据获取到 Angular 网格中

javascript - 如何检测 ng-grid 中的单元格更改而不仅仅是 ng-grid 事件的结束?

angularjs - 忽略时区Angularjs

javascript - 将 json 数组更改为 angularjs 中的表

AngularJS - 如何模块化指令+模板组合?

assembly - 关于 8086 程序集的 DB 和 DUP 指令

javascript - ui-grid (ng-grid) 计算的宽度太宽

javascript - 在禁用 ng 的情况下使用 ng-switch

javascript - 显示来自 Codeigniter 函数的 JSON html 数据

javascript - Angular Directive(指令)不会出现