1

Перейди через plunkerщий сетка апи не определен после возвращения из другого контроллера

vm.gridOptions = { 
     enableSorting: true, 
     columnDefs: [ 
      {field: 'deviceName'}, 
      {field: 'ip'}, 
      { 
       field: 'Action', enableSorting: false, 
       cellTemplate: '/monitoring_page/modals/buttonTemplate.html' 
      } 
     ], 
     data: vm.dataStack, 
     onRegisterApi: function (gridApi) { 
      vm.gridApiSource = gridApi; 
     } 
    }; 
//api call after coming from ui-bootstrap modal 
    vm.gridApiSource.core.refresh(); 

http://plnkr.co/edit/Oxo8XdQCysOUvfvhD82z?p=preview

В консоли gridApiSoucrce не определен. , ,

ответ

0

Figured it out of after a bit of work - Click for Plnkr:

  1. Добавить appScopeProvider: vm в параметры сетки
  2. переобъявить вашу сетку, как <div ui-grid="vm.gridOptions" ui-grid-pagination ui-grid-save-state class="cover-block"></div>
  3. Изменить body декларацию <body ng-controller="monitoringCtrl as vm"> и обновить все ваши звонки использовать виртуальную машину.

    Example: ng-click="monitoringCtrl.addDevice()" 
    

    должны теперь быть:

    ng-click="vm.addDevice()" 
    
  4. Удалить ng-controller="monitoringCtrl as monitoringCtrl из button.html, он создает 8 экземпляров контроллера из-за этой строки кода.

  5. Test It Out

enter image description here

Если это работает для вас, пожалуйста, примите его для будущих пользователей к репликации.

Смежные вопросы