我在slickgrid中定义了一个数组,该数组捕获使用OnCellChange事件在网格中编辑的行。我想在我的angularjs控制器中访问此数组,以便可以将编辑后的行发送到后端。我已经搜索了这个问题,我知道我需要在控制器中使用$ window来访问全局js变量。但这对我不起作用。我已经阅读了如何在AngularJS指令中访问全局js变量以及此http://code.angularjs.org/1.1.5/docs/api/ng.$window
实际上,在第二个链接(上面)中,许多人评论说它也不起作用。谁能告诉我我想念什么?
Slick_grid.js
var editedRows = [];
grid.onCellChange.subscribe(function(e , args){
var item = args.item;
for( i=0;i<editedRows.length; i++)
{
if(item.employeeId == editedRows[i].employeeId)
{
editedRows.splice(i , 1 , item);
return;
}
else
{
editedRows.push(item);
return;
}
}
});
controller.js
myApp.controller('SubmitController' ,
['$scope' ,'$window', function($scope , $window) {
alert($window.editedRows);
$scope.editedRows = $window.editedRows;
}]);
我认为editedRows
可能是在函数范围(javascript)中定义的,因此在外部是不可访问的。
如果editedRows是您自己的变量,则可以尝试
window.editedRows = [];
虽然不是一个好的解决方案。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句