如何通过rootscope从范围获取数据

时间:2016-06-17 10:52:30

标签: angularjs

我得到一个app.run,我从webintent获取数据。在app.run中,我不允许使用$scope,因此我使用$rootscope。现在我的$scope获得了$scope.sendURL(Object),我希望在app.run内进行此调用1}}。

我在stackoverflow和google上搜索了很多,我来了acros $broadcast$emit。但我无法弄清楚这是否正确。有人知道我应该尝试什么吗?

编辑: 我需要在$scope.sendURL内调用app.run,我不知道该怎么做。我在stackoverflow上搜索并发现了$broadcast$emit,但如果我需要使用它们,我就不会使用它。

1 个答案:

答案 0 :(得分:0)

将逻辑移至工厂并使用run和控制器中的工厂:

var app = angular.module('myApp', []);

app.run(function (myFactory) {

  var data = {};

  myFactory.sendURL(data);
});

app.controller('MyController', function ($scope, myFactory) {

  $scope.sendURL = myFactory.sendURL;
});

app.factory('myFactory', function ($http) {

  return { sendURL : sendURL };

  function sendURL(data) {

    // Put the logic here
    console.log(data);
  }
});