【问题标题】:Angular $broadcast only updating after page refreshAngular $broadcast 仅在页面刷新后更新
【发布时间】:2014-11-25 09:18:16
【问题描述】:

您好,我在 Angular 中有一个问题,$scope.$broadcast 仅在页面刷新一次后才更新侦听值:

一个控制器:

$rootScope.$broadcast('myVar', myValue);

听众:

$scope.$on('myVar', function(event, myValue) {
    console.log(myValue);
    $scope.myValue= myValue;
});

如果我刷新一次页面就可以了,但是在初始加载时侦听器不起作用? 有什么想法吗?

【问题讨论】:

  • 如果您将$on 与$broadcast 放在同一个文件中,您会看到相同的行为吗?控制器在刷新前是否在页面上?
  • 如果我将监听器放在同一个文件中,它就可以工作。
  • 如果您尝试$rootScope.$on('myVar', 会怎样?
  • 那也没用?
  • 如果它在同一个文件中工作,请检查文件加载的顺序(顺序在index.html)。由于浏览器会缓存文件,因此刷新后顺序无关紧要。

标签: angularjs broadcast rootscope


【解决方案1】:

我已经解决了这个问题,使用$window.location.reload(); 看来我需要重新加载控制器以重新启动侦听器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多