【发布时间】:2014-08-06 01:04:17
【问题描述】:
我有一个使用 ng-grid 的非常简单的 Angular 应用程序。由于某种原因,我不知道如何根据数据应用样式。我需要能够根据下面的数据状态代码显示不同的状态图像:
控制器:
$scope.myData2 = [
{service: "aaa", status: "ok"},
{service: "ccc", status: "warning"}];
$scope.gridOptions2 = {
data: 'myData2',
headerRowHeight:0,
rowHeight: 39,
enableRowSelection: false,
enableHighlighting:true,
columnDefs: [
{field: 'service', enableCellEdit: true},
{field:'status', cellTemplate : 'stateTemplate.html'}]
};
指令:
angular.module('myApp')
.directive("statusIcon", function() {
return {
restrict: 'E',
template: "<div ng-class=status-{{row.getProperty('status')}}></div>"
};
});
模板:
<status-icon></status-icon>
css:
.status-ok{
width: 24px;
height: 24px;
background: url("../images/status_ok.png") no-repeat;
}
.status-warning{
width: 24px;
height: 24px;
background: url("../images/status_ok.png") no-repeat;
}
当我渲染页面时,这是输出:
<status-icon class="ng-scope"><div ng-class="status-ok"></div></status-icon>
我错过了经典的class="status-ok"
我做错了什么?
【问题讨论】:
-
你可以使用单元格模板。
-
知道如何实现这一目标吗?
标签: angularjs ng-grid ng-class