簡體   English   中英

單元格模板中的Angularjs指令ng-hide在網格數據更改時未綁定

[英]Angularjs directive ng-hide in cell template is not binding on change in grid data

單元格模板中的Angular指令ng-hide不與網格數據更改中的最新數據綁定。 請檢查plunkr了解更多詳情: - http://plnkr.co/edit/rj0PrfyzeyVeV8Q8RWtG?p=preview在plunker模板字段不與數據的變化更新。

var app = angular.module('app', ['ngTouch', 'ui.grid']);

app.controller('MainCtrl', function ($scope, $timeout) {
  $scope.gridOpts = {        
        columnDefs: [
          { name:'name', field: 'name' },
          { name:'isActive', field: 'isActive'},
          { name:'template',cellTemplate:'<div><a ng-hide={{row.entity.isActive=="Y"}}>Active</a><a ng-hide={{row.entity.isActive=="N"}}>Deactive</a></div>'}
        ]
  };

  $scope.waiting = "Waiting...";
  $timeout(function () {
    $scope.gridOpts.data = [{ name: 'Bob' ,isActive:'Y'}];
  }, 3000)
  .then(function() {
    $timeout( function() {
      $scope.gridOpts.data = [{ name: 'John',isActive:'N' }];
    }, 3000);
    $scope.waiting = "Waiting again...";
  })
});

您需要在ng-hide內部表達

ngHide指令根據提供給ngHide屬性的表達式顯示或隱藏給定的HTML元素。

所以你的ng-hide 應該像

..ng-hide=row.entity.isActive=="Y"..

不像這樣的插值

.. ng-hide={{row.entity.isActive=="Y"}}..

這是更新的演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM