我得到一个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
,但如果我需要使用它们,我就不会使用它。
答案 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);
}
});