【问题标题】:ng-grid selectRow is undefined when setting rowTemplate设置 rowTemplate 时未定义 ng-grid selectRow
【发布时间】:2014-08-05 17:36:38
【问题描述】:

当我在 ngGrid 选项上设置 rowTemplate 时,所有行选择函数,例如 selectRow 都变得未定义。 这真的很奇怪。

例如看这里: http://plnkr.co/edit/m4GZftllwZzjYkEvXo3u?p=preview

// main.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
    $scope.myData = [{name: "Moroni", age: 50},
                     {name: "Tiancum", age: 43},
                     {name: "Jacob", age: 27},
                     {name: "Nephi", age: 29},
                     {name: "Enos", age: 34}];




    $scope.gridOptions = { data: 'myData' };
    $scope.gridOptions.rowTemplate = 'rowTemplate';

    setTimeout(function(){
                $scope.gridOptions.selectRow(3, true);
            },0);
}); 

选择一行会引发未定义的异常。 从 ngOptions 中删除“rowTemplate” - 你就可以正常工作了!

有人遇到过吗?

【问题讨论】:

  • 与您的问题无关,但使用 $timeout 代替 setTimeout
  • 是的,你是对的。虽然这当然不能解决这个问题..

标签: javascript angularjs ng-grid


【解决方案1】:

找到了。 奇怪的是,您需要增加超时时间(超过 1000)才能使其正常工作。 真奇怪。

【讨论】:

  • 这当然不是一个很好的解决方案。更好的方法是监听 ngGridEventData,并在里面使用 $timeout 来选择一行。工作。
猜你喜欢
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多