如何将智能表解析内容作为HTML /条件格式

时间:2016-04-22 16:02:45

标签: angularjs smart-table ngsanitize

我知道我可以格式化单元格以将内容解析为ng-repeat中的链接:

<a ng-href="{{::domainname}}/{{::row.sector}}/{{::row.cname}}/ipo-{{::row.tickerbb}}.html">{{::row.cname}}</a>

这是fiddle

如何使其动态化,以便如果row.tickerbb为null - 显示不同的URL? 我尝试在控制器中执行此操作,循环访问数据:

var i = 0;
$.each(data, function () {
    if (data[i].tickerbb != null) {
        data[i].cname = '<a title="' + data[i].cname + '"' + ' ng-href="' + domainname + '/' + data[i].sector + '/' + data[i].shortcname + '/ipo-' + data[i].tickerbb + '.html">' + data[i].cname + '</a>';
    }
    else {
        data[i].cname = '<a title="' + data[i].cname + '" href="Holdings">' + data[i].cname + '</a>';
    }
    i += 1;
})

但结果显示为原始html标签:

enter image description here

如何对智能表格单元格进行条件格式化?或者有没有办法清理智能表中的单元格?

1 个答案:

答案 0 :(得分:0)

通过在控制器中构建我的链接来解决它:

var i = 0;
$.each(data, function () {
     data[i].weight = (data[i].weight * 100).toFixed(2) + '%';
     if (data[i].shortcname != null) {
         var cname = data[i].cname;
         var sector = data[i].sector;
         var shortcname = data[i].shortcname;
         var tic = data[i].tickerbb;
         var url = '<a title="' + cname + '" href="' + $scope.domainname + '/' + sector + '/' + shortcname + '/ipo-' + tic + '.html">' + cname + '</a>';
                        data[i].cname = url;
      }
      else 
      {
          data[i].cname = '<a title="' + data[i].cname + '" href="Holdings">' + data[i].cname + '</a>';
      }
      i += 1;
 })

然后在ng-repeat中对其进行消毒:

<td ng-bind-html="row.cname"></td>