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>

编辑

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

4

1 回答 1

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';
};
于 2013-08-26T12:16:32.410 回答