jjzjj

rootscope

全部标签

javascript - 如何与 ng-switch 中的全局变量进行比较

我正在使用AngularJS$rootScope对象来公开一些需要Controller和View都可以访问的全局常量:varapp=angular.module('myApp',[]);app.run(function($rootScope){$rootScope.myConstant=2;});当我尝试在View中呈现全局值时,它可以正常工作:{{myConstant}}同样,如果我在ng-if条件中引用全局值,它也有效:Conditionalcontent.但是,当尝试在ng-switchblock中使用相同的值进行比较时,它永远不会计算为真。ThisJSFiddle展示了我试图让

javascript - AngularJs:如何访问 Controller 外部的全局变量?

这个问题在这里已经有了答案:GlobalvariablesinAngularJS(12个答案)关闭8年前。我正在尝试通过普通函数访问全局变量,这可能吗?我已经使用$rootScope设置了一些var,我正在尝试通过回调函数访问它。这个回调是从Controller调用的。我不想在该回调中传递$rootScope。有什么方法可以访问那个$rootScope.var吗?如果可能,我愿意使用服务。请提出建议。谢谢我正在尝试按如下方式访问rootScope:functionfbLandingCtrl($scope,$rootScope){$rootScope.isFBLoggedin=false

javascript - 在页面加载之前等待 $rootScope 值在 Angular 中解析

所以我在使用ngView时遇到了这个问题,并且我有一个整个静态的导航栏,如下所示:这个nav.html,导航栏,如果用户注销(使用ng-show)显示一组特定的功能(登录、注册),如果用户登录则显示其他菜单选项。因为重使用当前用户,我将此信息放在$rootScope中,如下所示:$rootScope.currentUser-返回用户对象,$rootScope.signedIn-返回bool值。基本上,我想延迟导航栏的加载,直到加载了$rootScope.signedIn并且是true或false,并且$rootScope.currentUser是一个对象或未定义.我试过在我的app.c

javascript - angular $broadcast 和 $on 贵吗?

有人告诉我使用Angular事件可能很昂贵(我一直无法验证这一点)任何对$broadcast和$on的调用都应该用工厂或服务“包装”以注入(inject)到它们相应的组件中以保持性能吗?同样,我宁愿使用$on并直接监听被触发的事件,而不是创建一个工厂,该工厂本质上只是注册要在接收到事件时调用的函数-让我们调用这是一个调度员。请注意,不仅仅是一个组件(指令)监听“某个事件”,还会有多种组件监听这个事件。示例调度程序:angular.module('app').factory('dispatcher',['$rootScope',function($rootScope){varregist

javascript - 确保一个 AngularJS Controller 先于另一个加载

我会以这样一个事实作为开场白:我真的不知道这是否是实现我正在做的事情的最佳方式,而且我非常愿意接受更好的建议。我有一个使用OAUTH2的用户帐户系统,它在我的数据库中查找用户信息并将其保存为变量$rootScope.userInfo。这驻留在附加到我的应用程序的body的Controller中;在这里,我认为最高级别的Controller会先于其中的Controller加载,但显然不是。如果我在我的mainCtrl有机会从我的数据库加载它之前加载一个试图访问这个$rootScope.userInfo对象的View,它会抛出一个javascript错误和Angular中断。作为引用,这里

javascript - Angular 中的模型和集合?

我来自Backbone,所以也许我的观点受到了偏见,但我很难看到在Angular中建模数据的最佳方式。2向数据绑定(bind)非常棒,但是当我想拥有持久的集合和模型类时,我感到很困惑。我习惯于能够定义一个集合,比如用户,然后能够在我想用新模型更新它时调用.fetch()。我也可以在集合和每个模型上定义自定义方法。varusers=newUserCollection();users.fetch();users.doSomethingCustom()users.at(0).doSomethingModel();到目前为止,我已经研究过Restangular和ngActiveResource

javascript - AngularJS 拦截器类型错误 : Cannot read property 'headers' of undefined

我在尝试实现AJAXSpinner加载代码时由于未知原因收到此错误。我不明白应该在哪里定义header。我做了console.log(config)但我可以看到headers:accept:text/html值。下面是我的代码:/***SpinnerService*///SpinnerConstantsdiary.constant('START_REQUEST','START_REQUEST');diary.constant('END_REQUEST','END_REQUEST');//Registertheinterceptorservicediary.factory('ajaxIn

javascript - 解决 $rootScope :infdig Infinite $digest Loop

我了解了无限摘要循环的基本概念以及它是如何发生的,但我遇到了问题。这是一个演示我的代码和问题的fiddle:http://jsfiddle.net/eS5e5/1/在jsfiddle控制台中,您将看到无限摘要循环。基本上,我必须对可能尚未加载的数据做出决定,因此我需要使用then()等待promise解决。我有一个名为用户的promise。在代码中有两个不同的地方我调用了用户的then()。就在我定义它之后。我需要根据它设置范围变量。在另一个作用域方法中,$scope.isAdmin()对于第2点,可能有人会问我为什么不直接在$scope.isAdmin()方法中使用$scope.us

javascript - 如何处理angularjs中的回调?

我有一个注册机制,其中rootscope变量是通过服务发送的。成功后,它会更新$rootScope.success字段。但是angularjs服务依赖于回调。服务更新rootscope.success但函数顺序执行代码。我如何等待服务完成其响应然后进一步处理?.controller('RegisterAccountCtrl',function($scope,$rootScope,registerUser,$location){$rootScope.success=false;$scope.registration=$rootScope.registration;$scope.getEn

javascript - AngularJS:在 ng-repeat 中调用 ng 样式函数时出现 $rootScope:infdig 错误

我正在尝试为一些短语制作动画,这些短语将显示在网站主页上,随机位置并具有淡入淡出和翻译效果。我将使用ng-style属性在ng-repeat属性内并设置调用HomeController内定义的JavaScript函数的ng-style值来实现此目的。使用此方法会导致Angular抛出异常:$rootScope:infdigerror10$digest()iterationsreached。中止!观察者在最后5次迭代中解雇我读了很多关于此的内容,但没有解决方案解决我的问题。谁能帮帮我?这是index.html的一部分:{{phrase}}Controller函数如下:$scope.get