javascript - AngularJS 中 url 更改后的广播

标签 javascript angularjs url broadcast

我想在 $window.location 之后广播一些数据

因此,在我的第一个 js 文件中,我执行了 searchSelect 函数;

$scope.searchSelect = function (item) {        
    var url = "http://" + $window.location.host + "/import.aspx?key=IMPORT_" + item.type;
    $window.location.href = url;
    $scope.$broadcast('searched', {type: item.type})
}

在第二个js文件中我有:

$scope.$on('searched', function (event, args) {
    console.log(args.type);        
})

但是console.log不会出现。

URL位置更改后如何进行此广播?谢谢

最佳答案

您需要进行两项更改:

  1. 在更改网址之前使用广播。
  2. 使用 rootscope 进行广播。

即 使用这个语句:

$rootScope.$broadcast('searched', {type: item.type})

在此之前

$window.location.href = url;

关于javascript - AngularJS 中 url 更改后的广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43756594/

相关文章:

javascript - 根据居中的 slider 项显示标题

javascript - find() 函数在 jquery 中的页面加载时不起作用

Java URLConnection 整数问题

.htaccess - 将 URL 查询字符串替换为斜杠以获得友好的 URL

javascript - Express 路由器无法工作

javascript - AngularJS UI 路由器嵌套状态不工作

javascript - Angular 指令设置元素属性

javascript - 单击时如何将 td-tag 更改为 html 中的 input-tag?

javascript - Angular jsonp 回调仅执行一次

url - 如何生成 "private URL"并在安全性和便利性之间取得最先进的平衡?