Angularjs UI 更新行时网格不检查 ng-show 条件
Angularjs UI grid not checking ng-show condition when row gets updated
我正在使用 angularjs ui 网格,我的代码中有一个名为 status 的字段,用户可以在其中通过单击按钮将状态更新为 Active 或 InActive。
更新后我可以刷新数据,但是 celltemplate: condition 没有被触发。我正在使用以下方法刷新 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
通过更改让 plunker 工作
ng-show={{row.entity.status==\'Active\'}}
到ng-show="row.entity.status==\'Active\'"
原因是 {{ }}
内的任何内容都会立即在模板内执行,因此您可以看到生成的 html 具有 ng-show="true"
但没有像
这样的表达式
ng-show="row.entity.status=='Active'"
我正在使用 angularjs ui 网格,我的代码中有一个名为 status 的字段,用户可以在其中通过单击按钮将状态更新为 Active 或 InActive。
更新后我可以刷新数据,但是 celltemplate: condition 没有被触发。我正在使用以下方法刷新 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
通过更改让 plunker 工作
ng-show={{row.entity.status==\'Active\'}}
到ng-show="row.entity.status==\'Active\'"
原因是 {{ }}
内的任何内容都会立即在模板内执行,因此您可以看到生成的 html 具有 ng-show="true"
但没有像
ng-show="row.entity.status=='Active'"