我正在调用$http.get从服务器获取angular ui网格的新内容。在日期选择器中更改日期时,我触发一个ng更改事件来进行另一个http调用以获取新内容。调用成功,但网格未更新为新内容$scope.grid.core.notifyDataChange()在http成功回调内部调用时抛出错误。请建议使用新内容更新网格的方法。
请查找plnkr代码。当我点击加载按钮时,我想使用http调用用新的JSON数据更新网格,但它并没有更新网格。http://plnkr.co/edit/S2A3scEoO6QIGFbru3Lr?p=preview
示例的问题在success
的$scope.roData
方法内部(第256-260行)。
$http.get(...).success(
function(data){
$scope.roData = data;
});
在这里,您只是将数据放在一个scope属性(uiGrid.gridOptions.data
)中,但不使用该scope属性执行任何操作。
此外,您试图用以下行为$scope.nameOfVariable
分配错误的值:
if($scope.gridOptions.data ==='rData'){
$scope.gridOptions.data = 'roData';
}
但你犯了两个错误:
将变量视为字符串,这是行不通的。在JS文件中,您需要使用
'nameOfVariable'
访问您的作用域,而不是像success
那样使用它们的名称作为字符串。您将这些行放在
if
方法之外,因此在实际获取数据之前执行它们。
我设法编辑了你的plunker并使其工作,你可以在这里找到它。我所做的就是把你的台词拼在一起,并修复名字错误。我没有放任何CCD_9,因为我不知道你想要实现什么逻辑。
$http.get(...).success(
function(data){
$scope.roData = data;
$scope.gridOptions.data = $scope.roData;
});