我创建了一个依赖于过滤器的单元格模板,但不处理过滤器。
单元格定义为{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>
修改
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:点击STOPPED时,当前状态应为STARTED
答案 0 :(得分: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';
};