从 AngularJS 中的 run 函数更新$scope对象



我在运行函数中有我的通知侦听器。收到通知后,我需要使用通知对象中存在的参数更新$scope中存在的对象。

angular.module('app', ['ionic', 'chatsCtrl'])
.run(function($state, $ionicPlatform) {
  window.FirebasePlugin.onNotificationOpen(function(notification) {
    // Need to append this notification.parameter to a scope variable present in a controller  
  }
}
.controller('chatsCtrl', function($scope) {
  // $scope.chats
});

我该怎么做呢?我不想使用$rootScope对象,因为$scope.chat对象会变得非常重。

谢谢

你不能在运行块中调用scope变量/函数。 由于您不想使用rootscope我的建议是创建一个服务并从运行块为该服务中的特定方法赋值。然后使用相同的服务从控制器获取该值。

angular.module('app', ['ionic', 'chatsCtrl'])
.run(function($state, $ionicPlatform) {
  window.FirebasePlugin.onNotificationOpen(function(notification) {
     sampleService.setData(notification)
  }
}
.controller('chatsCtrl', function($scope,sampleService) {
   $scope.chats =  sampleService.getData()
});
.factory('sampleService', function() {
   var data;
   return {
     getData : function(){ return data},
     setData: function(param){ data = param},
   }
});

相关内容

  • 没有找到相关文章

最新更新