2017-06-02 52 views
0

我使用angularjs ui网格,我有我的代码中称为状态的字段,其中用户可以通过单击按钮将状态更新为Active或InActive。Angularjs用户界面网格没有检查ng显示条件,当行更新

更新后,我可以刷新数据,但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我试图创建显示u演示,但状态在这里我现在正在更新手动显示其他我有api调用更新它,如果你看到数据正在改变,但状态改变按钮不会改变 Demo

+0

我买了NG-表演和NG-隐藏了同样的问题,尝试NG-如果作为替代,它可能有所帮助。一些问题发生在用户界面刷新 –

+0

我尝试与ng - 如果它没有显示任何东西,甚至没有HTML按钮,所以只有我使用ng-show – Sudarshan

+0

'ng-show'需要像'ng-show = “{{row.entity.status == \ '活动\'}}”'? – Icycool

回答

0

了plunker通过改变内部 ng-show={{row.entity.status==\'Active\'}}

ng-show="row.entity.status==\'Active\'"

原因是什么工作10在模板中被立即执行,所以你可以看到生成的HTML有ng-show="true"但没有表达类似

ng-show="row.entity.status=='Active'"