2016-02-19 3 views
0

У меня есть небольшое приложение для получения данных от signalR и передает их обратно на контроллер с завода. , но когда rootScope запускает и передает объект в область, которую этот доза данных обновляет на представлении. вот мой код контроллера:.Угловой вид scop dont updates может просмотреть

(function() { 
'use strict'; 

angular.module('app.config', ['datatables']) 
    //.controller('configCtrl', configCtrl) 
    .value('backendServerUrl', 'https://pmscsds01.azurewebsites.net/') 
    .controller('sysCtrl', [ 
     "$scope", "$http", "DataConfig", "backendHubProxy", "$rootScope", function ($scope, $http, DataConfig, backendHubProxy, $rootScope) { 
      DataConfig.GetConfigs(); 
      $rootScope.$on('data-ready', function (event, args) { 
       $scope.systems = args.data; 
       backendHubProxy.initalizeHub('configurationStatusClientHub', args.pcellId, $scope.systems); 
      }); 

      $rootScope.$on('data-changed', function (event, args) { 
       $scope.systems = args; 
      }); 
     } 
    ]);})(); 

первый $ rootScope $ на работает нормально, но второй:

$rootScope.$on('data-changed', function (event, args) { 
       $scope.systems = args; 
      }); 

нет, то доза передать новые обновленные данные в рамках системы, но это не отражает мнение.

+0

В 'случае данных ready' вы присваивающая' 'args.data' до $ scope.systems', тогда как в' случае данных changed', это 'args', правильно? – Michael

ответ

0

Я, наконец, решает эту проблему только что добавил $ scope.apply();

$rootScope.$on('data-changed', function (event, args) { 
      $scope.systems = args; 
      $scope.apply(); 
     }); 

Сейчас он работает;)