2013-08-26 39 views
0

我创建了一个依赖于过滤器的单元格模板,但未对过滤器进行处理。具有纳格网格过滤器的单元格模板

的小区被定义为{field:'status', displayName:'Status', cellTemplate: 'cell/statusCellTemplate.html'}]其中模板是

<button class="btn btn-primary" ng-click="changeStatus(row.getProperty('id'),'{{row.getProperty(col.field) || switchStatus}}')">{{row.getProperty(col.field)}}</button> 

EDIT

myapp.filter('switchStatus', function() { 
    return function(input) { 
     return (input == 'STOPPED') ? 'STARTED' : 'STOPPED'; 
    }; 
}); 

渲染的细胞是<button class="btn btn-primary ng-scope ng-binding" ng-click="changeStatus(row.getProperty('id'),'STOPPED')">STOPPED</button>。我期待第二个参数STARTED。

Plunker:点击时停止,当前状态应启动

回答

0

来自哪里data?我觉得你的意思,以检查是否input是“停止”或“已启动”是这样的:

app.filter('switchStatus', function() { 
return function(input) { 
    var out = ""; 
    if (input == 'STOPPED') { 
     out = 'STARTED'; 
    } else if (input == 'STARTED') { 
     out = 'STOPPED'; 
    } 
    console.log(input + " " + out); 
    return out; 
}; 

你可以让你的过滤器通过写短:

app.filter('switchStatus', function() { 
return function(input) { 
    return (input == 'STOPPED') ? 'STARTED' : 'STOPPED'; 
}; 
+0

良好的渔获,但不幸的是它确实解决问题。 – Sydney

+0

Plunker现在在我的浏览器中不适合我,所以我只是一眼就认为这可能是问题,但我无法确认... – Kabb5

+0

Plunker现在正在关闭 – Sydney