问题标签 [angularjs-rootscope]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
37 浏览

angularjs - 在触发两个事件后调用函数

上面的代码在接收到 stopSPinner 事件时起作用,它会执行。但我的要求涉及更多。我想在执行一个函数之前等待两个不同的事件接收。事件的顺序可能不同,但我只想在两个事件都发生后才执行。如何做到这一点

0 投票
0 回答
21 浏览

javascript - $routeOnChange 放置是否对它触发很重要?

我们在哪里用 $routeOnChange 实例化一个 $on 监听器有关系吗?我目前在两个指令中有 $rootScope.$on("$routeOnChange", myFunction) 。在一个指令中,当我刷新我的网站时,侦听器工作正常,但在另一个指令中,它只实例化指令而不触发。

让我们调用监听器触发的指令directiveA。在directiveA 的html 模板中,我使用directiveB(不触发)。我不确定这是否会影响任何事情。它会在一个指令中工作/被触发,但在另一个指令中不会触发,这似乎很奇怪。但是,如果我转到其他页面,它确实会在指令 B 中触发。只是刷新不会触发它。

谢谢!

0 投票
1 回答
99 浏览

javascript - 将 AngularJS 范围传递给 JS 图表

我正在尝试使用来自控制器的数组,该控制器在我的 html 文件中的某些 Javascript 中在该控制器中全局声明的 $scope 内。这可能吗?我试图实现 $rootScope 但没有取得多大成功,不确定实现是否存在问题,但首先调用 $rootScope 并且我在控制台中未定义,然后控制器在之后设置值。

这是我的控制器

这是我的 JS 放在我的 HTML 中

0 投票
1 回答
114 浏览

angularjs - 角度更新列表 $rootScope:infdig

我正在尝试更新回调函数中的范围列表。这显然工作正常,但是几秒钟后,控制台出现错误:[$rootScope:infdig]。我试图禁用双向数据绑定,但是错误仍然存​​在。

控制器:

看法:

0 投票
2 回答
1040 浏览

angularjs - Ng-Repeat 在页面刷新之前不更新

简要介绍一下我的工作:

这个应用程序是一个电话簿,它调用我们的后端系统并返回一个 JSON 有效负载,然后将其解析并存储到本地存储以供离线访问,然后数据以简单的主屏幕格式反映。

给出一个简单的工作流程:

  1. 用户登录
  2. 在用户帐户下通过 Ajax 请求调用后端
  3. 数据存储到本地存储
  4. 数据被添加到 $rootScope.allEmployeeInformation 变量
  5. Ion-List 反映了存储在主屏幕上 $rootScope.allEmployeeInformation 变量中的数据。

我的问题在这里:

登录后,数据被正确提取和存储,但 Ion-List 不会显示数据,直到通过我实现的下拉刷新功能、重新同步按钮或​​重新启动应用程序刷新页面。

有什么方法可以确保在用户不需要刷新页面的情况下显示这些数据?

将非常乐意提供所需的更多信息。谢谢你们的帮助!

编辑,根据要求使用一些代码更新:

执行ajax请求的代码

显示信息的 Html:

编辑#2:我相信我已经缩小到事实上是 ng-repeat 而不是 Ion-List 的问题,正如我乍一看所期望的那样。更新参考标签。

干杯! 麦克风

0 投票
1 回答
153 浏览

angularjs - 来自控制器的 $rootScope.$broadcast 和 $scope.$on in 指令不起作用 1.2x 版本

我正在尝试从我的控制器调用 $rootScope.broadcast 并希望在指令中收听它

但是这里从来没有调用过该指令,我做错了什么吗?

0 投票
2 回答
104 浏览

angularjs - Angularjs - 如何在运行、工厂和控制器块之间共享可编辑数据?

tl;dr - app.run 每次调用 API 时都会重置 $rootScope.variable 的值 - 我需要帮助找到解决方法。

我有一个 AngularJS + ASP.NET Web API 设置。我需要 AngularJS 在除登录 API 之外的每个 API 调用中发送一个令牌,我已将此代码放在我的 app.run 中:

我的登录 API 在其响应中获取令牌 - 我将该值保存在 $rootScope.token 中,然后我想将该令牌作为“myToken”的值发送到所有其他 API 调用的 HTTP 标头中。所以 loginController 应该被允许更新 $rootScope 并且 $.ajaxSetup 应该得到 $rootScope.token 的更新值。这就是我的 loginController 获取令牌值并更新 $rootScope.token 的方式:

$apiFactory.callAPI 是我在工厂中为实际 API 调用制作的标准函数。

LoginController 成功更新了 $rootScope.token,但是当我进行下一次 API 调用时,它转到 .run 以运行 ajaxSetup,并发现 $rootScope.token 未定义。

我应该怎么做才能解决这个问题?非常感谢!

0 投票
0 回答
106 浏览

angularjs - $rootScope 在异步调用中似乎更新得太慢

我正在尝试使用 ui-router 和 ngAnimate 实现向左/向右滑动的效果(例如在应用程序中导航流)。

为了达到这个效果,我在ui-view元素的容器上添加了一个 css 类,如下所示:

然后在运行时,我正在监听$stateChangeStart从 ui-router 广播的内容:

问题是我的代码不适用于进入 ( ng-enter) 的第一个状态。然而,在第一个状态之后,向前和向后导航的切换完美地工作。ng-enter, ng-enter-active,ng-leaveng-leave-active所有样式都与我在我的 css 中指定的转换正确。

为了使其完美运行(包括第一次导航),我唯一能做的就是在我的条件块 on 之后强制$rootScopeto 。完整代码如下:$apply()$stateChangeStart

该应用程序运行良好,但我收到一条错误消息:($apply already in progress角度错误参考

相关库的版本是:

  • AngularJS v1.3.2
  • UI-路由器 v0.3.1
  • 角动画 v1.3.2
0 投票
2 回答
206 浏览

angularjs - Rootscope 在功能中不可访问

在下面的代码中,我登录到控制台 $rootScope 并记录未定义。为什么会这样?

init 函数由名为 NameCtrl 的控制器的 ng-init 调用。

0 投票
2 回答
3952 浏览

javascript - Angularjs:未定义未捕获的 ReferenceError $rootScope

我正在尝试运行并收到此消息:

未捕获的 ReferenceError:$rootScope 未在 app.js 第 12 行定义

这是我的 js/app.js

这个 js/controller.js

服务/eventFactory.js

在 index.html 我以这种方式添加了脚本