2014-10-17 56 views
1

任何原因我的示例中的angularjs网格不会正确显示selectedItems?也就是说,任何时候我尝试引用selectedItems,我都会得到“未定义”。我已经在Chrome和IE中尝试了相同的结果。Angularjs grid selectedItems总是返回undefined?

我做了一个plnkr,它是角度网格页面上的“基本”示例,它带有一些额外的javascript来尝试显示所选项目。 的plnkr:http://plnkr.co/edit/wPnMGQOzKSOTdeaAjoB8?p=preview

的培训相关代码:

$scope.gridOptions = { 
     data: 'myData', 
     selectedItems: $scope.mySelections, 
     afterSelectionChange: function (row, event) { 
        if (row.selected) { 
         alert('Items selected ' + $scope.mySelections); 
         alert('Items selected ' + $scope.gridOptions.selectedItems) 
        } 
       } 

    }; 

试图评估所选项目时,我得到“未定义”,无论是与$ scope.mySelections或直接通过电网。我已经放了一个“调试器”;在“如果”行中检查并检查值 - 网格上没有出现selectedItems属性?

(编辑:删除**从代码块忘了你不能在这里粗体代码。)

回答

3

你忘了初始化$scope.mySelections财产。正因为如此,每次你打印它的价值时,你都会得到undefined

检查固定的plnkr

当然,它会为每个对象发出一个[对象对象]的警告,但这是您打算如何打印对象的问题。

如果你想以更明智的方式提醒你的对象,你可以做一些像this plnkr

+0

Ah dern - 每次都错过了初始值设定项。我认为selectedItems会自动将它设置为一个有效的数组。感谢修复!而且 - 似乎你的第一个plnkr有一些剩余的测试代码 - 你已经设置了一个索引并手动执行了所选行的.push()。让我困惑了一下,想着我不得不手动推/拼接selectedItems :)但一切都好! – 2014-10-17 17:57:04

+0

是的,你说得对,一些垃圾代码被遗忘了。现在已经修复了。 – 2014-10-17 17:58:14