我正在使用angularjs ui grid,我的代码中有一个名为status的字段,用户可以通过单击按钮将状态更新为Active或InActive。
更新后我可以刷新数据,但是celltemplate:条件没有被触发。我使用下面的方法刷新ui网格
$scope.gridOption.data=data;
$scope.gridOptionApi.core.refresh();
但这只是刷新我的数据,它没有检查我在celltemplete中添加的条件,如下所示
{field: 'profileId', displayName: 'Change Status',cellTemplate:'<div class="text-center">
<button ng-click="grid.appScope.changeProfileStatus(COL_FIELD, \'InActive\' )" ng-show={{row.entity.status==\'Active\'}}
class="btn-custome-warn custom-btn-xs btn-warning"><i class="fa fa-close"></i></button><button
ng-click="grid.appScope.changeProfileStatus(COL_FIELD, \'Active\')" ng-show={{row.entity.status==\'InActive\'}}
class="btn btn-xs btn--small custom-btn-xs button--primary"><i class="fa fa-check"></i></button></div>'}
所以基本上我正在显示更改状态字段,如果状态是活动的,那么我显示非活动按钮,反之亦然。
有人有什么建议吗?
这里是plunker我试图创建以显示你的演示,但状态在这里我现在正在手动更新以显示你我有api调用更新它,如果你看到数据正在改变但状态更改按钮不是改变 Demo
答案 0 :(得分:0)
通过改变让傻瓜工作
ng-show={{row.entity.status==\'Active\'}}
到ng-show="row.entity.status==\'Active\'"
{{ }}
内的任何内容都会立即在模板中执行,因此您可以看到生成的html有ng-show="true"
但不是
ng-show="row.entity.status=='Active'"