Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置rowTemplate时未定义ng grid selectRow_Javascript_Angularjs_Ng Grid - Fatal编程技术网

Javascript 设置rowTemplate时未定义ng grid selectRow

Javascript 设置rowTemplate时未定义ng grid selectRow,javascript,angularjs,ng-grid,Javascript,Angularjs,Ng Grid,当我在ngGrid选项上设置rowTemplate时,所有行选择函数(如selectRow)都将变得未定义。 这真奇怪 例如,请看这里: 选择行会引发未定义的异常。 从ngOptions中删除“rowTemplate”-这样就可以工作了 有人遇到过这个吗 找到了。 奇怪的是,您需要增加超时(超过1000)才能使其正常工作。 非常奇怪。与您的问题无关,但使用$timeout而不是settimeout是的,您是对的。虽然这当然不能解决这个问题,但这当然不是一个很好的解决方案。更好的方法是侦听ngG

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

例如,请看这里:

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

有人遇到过这个吗

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

与您的问题无关,但使用$timeout而不是settimeout是的,您是对的。虽然这当然不能解决这个问题,但这当然不是一个很好的解决方案。更好的方法是侦听ngGridEventData,并在内部使用$timeout选择一行。作品。
// 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);
});