问题标签 [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.
javascript - 自定义到期日期指令引发 rootScope 摘要错误
我有 2 个输入字段需要在输入两个字段后进行验证。这是信用卡到期日,所以有一个month
和year
。我正在使用第三方服务来实际进行验证。
因此,我设置了 3 个指令:exp
、expMonth
和expYear
.
我使用 a$watch
来验证用户输入 - 但是如果验证为假,我想显示一个错误。当我尝试处理时ng-class
,exampleForm.$error.expiry
我得到Error: [$rootScope:infdig] 10 $digest() iterations reached.
这是一个演示 http://plnkr.co/edit/SSiSfLB8hEEb4mrdgaoO?p=preview
视图.html
exp.directive.js
expMonth.directive.js
expYear.directive.js
angularjs - $rootScope.$broadcast on $rootScope.$on: RangeError: 超出最大调用堆栈大小
我想像这样以角度定义页面标题:
一个标准PageController
:
然后在运行块中:
最后在PageHeaderController
:
这样,我不需要注入$rootScope
each PageController
,但这$scope
通常用于其他任务。
但是我在第二个代码块中上面标记的行处收到此错误
RangeError:超出最大调用堆栈大小
这里有什么问题?我看不出是什么导致了无限循环,因为我想我只是做了这些步骤:
- 从孩子发出
- 在 rootscope 中处理并广播给孩子
- 处理特定的孩子
angularjs - 每次加载 Angular 控制器时运行一个函数
每次加载任何 Angular 控制器时,我都想运行一个函数。
我发现的最好方法是将此处理程序附加到我网站上加载的第一个控制器中:
有更好的选择吗?
javascript - AngularJS:如何从子控制器更新指令范围
我有一个简单的父/子控制器设置如下:
当我从 Child 1 Ctrl 或 Child 2 Ctrl单击任一按钮时,我希望更新 my-directive 中的范围。
myDirective.js
并在我的子控制器中调用:
用小提琴更新:
http://jsfiddle.net/6uub3jqx/1/
如果您单击第一组按钮,则会出现红/绿丝带。
如果您单击带有 child1/2 控制器的按钮,则没有任何操作。
解决方案:
见小提琴:http: //jsfiddle.net/6uub3jqx/2/
基本上孩子应该发送:
父母应该收到:
rootscope 会是更好的选择吗?
javascript - 角度流星 $rootScope.currentUser 未定义
我有一个使用 angular-meteor 构建的相当简单的应用程序。下面是我的 app.js 文件。当用户登录时,他们被重定向到家庭状态。通常,$rootScope.currentUser 存在,并且我能够获取我需要在视图中显示的用户数据等。但是有时在刷新时,我收到一条错误消息,指出 $rootScope.currentUser 未定义。我很确定当我尝试访问 Meteor 用户集合时,它有时还没有准备好,但我不知道如何确保每次都发生这种情况。
angularjs - $rootScope 属性值在服务中未定义
我在数据库中有一个表,我需要在我的网站上进行任何其他操作之前访问该表。我得到的值,我将在所有不同的控制器、指令、服务等中使用。我认为存储这些值的最佳位置$rootScope
是为此,我做了以下操作:
我顺利拿回了域名,所以一切都很好。问题是,当我将其$rootScope
注入服务时:
可以预料,那里什么都没有,因为响应会在服务代码执行之后出现。
问题是,我在多个控制器中使用该工厂代码,我不知道如何延迟它的执行,以便它等到我从我的 ajax 调用中取回数据。
我试过做一个广播,但没有办法(我知道)延迟retun
工厂的时间,即使在某个时候我确实得到了结果。我将如何解决我遇到的这个问题?
回答:
为此废弃 $rootScope 的使用。我使用服务返回结果的控制器如下所示:
服务看起来像这样:
angularjs - 使用 $rootScope 值 module.config 抛出错误
这是我的 app.config
当我运行这个时,我得到了错误
请帮助我..我是 angularJs 的新手
angularjs - 我无法在我的控制器中访问 $rootScope
我在$rootScope
下面指定了一些参数:
当我运行上面的代码时,我从 firebug 得到这个错误
TypeError: $rootScope.items is undefined
。我真的不知道发生了什么。
这是一个小补充。items
是一个包含如下对象列表的数组:
我希望items
在我的应用程序中不断提供,这样我就可以在项目列表(项目)上显示每个项目,而无需向服务器发出另一个请求。我打算通过$scope.item = items[$routeParams.id]
每次需要显示一个项目时简单地显示一个项目来实现这一点。我期待使用附加的功能ng-click
或正常#/route/:param
机制来实现这一点。谢谢
angularjs - angularjs中的消息发布/订阅
我正在我正在工作的 angularjs 项目中创建一个消息传递服务。
当我调用服务时,这就是我正在做的事情
我正在处理调用控制器中的注销部分。
我可以在消息总线服务中做些什么作为通用模式并从那里取消注册,而不是在每个控制器上调用取消注册?
angularjs - 在设置 $routeProvider $ angular.config 时动态添加 templateUrl
我是角度新手。我想实现以下代码...
ViewSwitcher 是一个 serverlet,它根据 pageId、userId(保存在 $rootScope 中)响应我一个 HTML 页面......但是 $rootScope 不可用......提前谢谢!