问题标签 [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.
angularjs - 在触发两个事件后调用函数
上面的代码在接收到 stopSPinner 事件时起作用,它会执行。但我的要求涉及更多。我想在执行一个函数之前等待两个不同的事件接收。事件的顺序可能不同,但我只想在两个事件都发生后才执行。如何做到这一点
javascript - $routeOnChange 放置是否对它触发很重要?
我们在哪里用 $routeOnChange 实例化一个 $on 监听器有关系吗?我目前在两个指令中有 $rootScope.$on("$routeOnChange", myFunction) 。在一个指令中,当我刷新我的网站时,侦听器工作正常,但在另一个指令中,它只实例化指令而不触发。
让我们调用监听器触发的指令directiveA。在directiveA 的html 模板中,我使用directiveB(不触发)。我不确定这是否会影响任何事情。它会在一个指令中工作/被触发,但在另一个指令中不会触发,这似乎很奇怪。但是,如果我转到其他页面,它确实会在指令 B 中触发。只是刷新不会触发它。
谢谢!
javascript - 将 AngularJS 范围传递给 JS 图表
我正在尝试使用来自控制器的数组,该控制器在我的 html 文件中的某些 Javascript 中在该控制器中全局声明的 $scope 内。这可能吗?我试图实现 $rootScope 但没有取得多大成功,不确定实现是否存在问题,但首先调用 $rootScope 并且我在控制台中未定义,然后控制器在之后设置值。
这是我的控制器
这是我的 JS 放在我的 HTML 中
angularjs - 角度更新列表 $rootScope:infdig
我正在尝试更新回调函数中的范围列表。这显然工作正常,但是几秒钟后,控制台出现错误:[$rootScope:infdig]。我试图禁用双向数据绑定,但是错误仍然存在。
控制器:
看法:
angularjs - Ng-Repeat 在页面刷新之前不更新
简要介绍一下我的工作:
这个应用程序是一个电话簿,它调用我们的后端系统并返回一个 JSON 有效负载,然后将其解析并存储到本地存储以供离线访问,然后数据以简单的主屏幕格式反映。
给出一个简单的工作流程:
- 用户登录
- 在用户帐户下通过 Ajax 请求调用后端
- 数据存储到本地存储
- 数据被添加到 $rootScope.allEmployeeInformation 变量
- Ion-List 反映了存储在主屏幕上 $rootScope.allEmployeeInformation 变量中的数据。
我的问题在这里:
登录后,数据被正确提取和存储,但 Ion-List 不会显示数据,直到通过我实现的下拉刷新功能、重新同步按钮或重新启动应用程序刷新页面。
有什么方法可以确保在用户不需要刷新页面的情况下显示这些数据?
将非常乐意提供所需的更多信息。谢谢你们的帮助!
编辑,根据要求使用一些代码更新:
显示信息的 Html:
编辑#2:我相信我已经缩小到事实上是 ng-repeat 而不是 Ion-List 的问题,正如我乍一看所期望的那样。更新参考标签。
干杯! 麦克风
angularjs - 来自控制器的 $rootScope.$broadcast 和 $scope.$on in 指令不起作用 1.2x 版本
我正在尝试从我的控制器调用 $rootScope.broadcast 并希望在指令中收听它
但是这里从来没有调用过该指令,我做错了什么吗?
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 未定义。
我应该怎么做才能解决这个问题?非常感谢!
angularjs - $rootScope 在异步调用中似乎更新得太慢
我正在尝试使用 ui-router 和 ngAnimate 实现向左/向右滑动的效果(例如在应用程序中导航流)。
为了达到这个效果,我在ui-view
元素的容器上添加了一个 css 类,如下所示:
然后在运行时,我正在监听$stateChangeStart
从 ui-router 广播的内容:
问题是我的代码不适用于进入 ( ng-enter
) 的第一个状态。然而,在第一个状态之后,向前和向后导航的切换完美地工作。ng-enter
, ng-enter-active
,ng-leave
和ng-leave-active
所有样式都与我在我的 css 中指定的转换正确。
为了使其完美运行(包括第一次导航),我唯一能做的就是在我的条件块 on 之后强制$rootScope
to 。完整代码如下:$apply()
$stateChangeStart
该应用程序运行良好,但我收到一条错误消息:($apply already in progress
角度错误参考)
相关库的版本是:
- AngularJS v1.3.2
- UI-路由器 v0.3.1
- 角动画 v1.3.2
angularjs - Rootscope 在功能中不可访问
在下面的代码中,我登录到控制台 $rootScope 并记录未定义。为什么会这样?
init 函数由名为 NameCtrl 的控制器的 ng-init 调用。
javascript - Angularjs:未定义未捕获的 ReferenceError $rootScope
我正在尝试运行并收到此消息:
未捕获的 ReferenceError:$rootScope 未在 app.js 第 12 行定义
这是我的 js/app.js
这个 js/controller.js
服务/eventFactory.js
在 index.html 我以这种方式添加了脚本