У меня есть ngGrid на частичной странице, и я пытаюсь получить доступ к выбранным элементам на главной странице, я предполагаю, что лучший способ сделать это — с помощью $emit (в родительскую область) и $on (чтобы поймать событие ). По какой-то причине мой afterSelectionChange не срабатывает, и мне интересно, не делаю ли я что-то не так. Или, если есть лучший способ отслеживать изменения даже в выборе дочерней сетки.
I have
{{mySelectedItems}}On my partial, and it updates just fine. But also have
{{selectedDevices}}On my main view, and it's never getting updated. A breakpoint on the function within the "afterSelectionChange" also is not getting hit. here's the gridoptions. zz is just my previously defined data, not really relevant, also chopped out my columnDefs to minimize space.
$scope.mySelectedItems = [];
$scope.gridItems = @Html.Raw(Json.Encode(zz))
$scope.gridOptions = {
selectedItems:$scope.mySelectedItems,
afterSelectionChange: function (data) {
$scope.$emit("selectionChanged", $scope.mySelectedItems)},
multiSelect:true,
data: 'gridItems',
enableColumnResize: true
};
И, наконец, на моем основном представлении у меня есть
$scope.$on("selectionChanged",function(event,data){
$scope.selectedDevices=data;
})
чтобы уловить изменения.