问题标签 [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 投票
3 回答
4187 浏览

javascript - $rootScope 并将数据从控制器传递到服务

我正在使用 angular js 并且有一个看起来像这样的控制器

和一个看起来像这样的服务(在另一个文件中)

为了确保每个人都正确地从服务连接到控制器,在我的控制器内部对“test()”的第一次调用会在警报框中产生所需的输出。但是,对于下一个功能,现在应该警告“4”,而不是警告“未定义”。

我如何使用 $rootScope 或其他东西来将范围变量用于我的服务。

0 投票
1 回答
393 浏览

javascript - $rootScope 没有改变内容....我的错误是什么?

我遇到了 $rootScope 的问题。我正在更改“按钮”单击事件中的值,但指令中没有更改。

HTML页面显示“TEST”开始,在按钮单击时,我希望更改为“CLICKED”。错误是什么?在我的代码中,请帮忙。

0 投票
1 回答
223 浏览

javascript - 更新 $rootScope.$broadcast

如何使用新值更新 $rootScope.$broadcast?

考虑这段代码:

这是我的控制器:

这是我的html:

这几乎可以工作。当我进行 ajax 调用时,mapInfo 会更新并在页面上打印出数据。但是当我不进行 ajax 调用时,fish 的值不会在页面上打印出来。我可以看到 $rootScope 正在被值 fisk:console.log($scope.mapInfo) 更新,但它没有被打印出来。

0 投票
1 回答
90 浏览

angularjs - 如何使用角度服务运行函数并将结果分配给 $rootScope

出于某种原因,我在思考 Angular 逻辑时遇到了问题,但我决心理解这一点。

我试图在应用程序启动时运行一个函数,该函数循环一个对象并全局存储结果。我正在尝试通过服务来做到这一点。

第一个问题:我应该使用 .run() 来初始化它还是在第一条路线的控制器中?

这是我的代码:

我似乎无法做到这一点。每次我在控制器中记录 $rootScope.structure 时,它​​都是未定义的。做这样的事情的最好方法是什么?$scope.watch? 承诺?

0 投票
2 回答
59 浏览

angularjs - 控制器可以在 Angular 的 $rootScope 中创建任意属性吗

控制器在 Angular 中做这样的事情是否合法?

或者

0 投票
3 回答
14312 浏览

angularjs - Angular $rootScope.$broadcast() event caught twice in controller

Broadcating event on button click :-

And catching event in another controller :-

But it caught twice even though it fired only once. Why is that?

0 投票
1 回答
20041 浏览

angularjs - angularjs中的重定向状态

这是状态配置:

nv及其子状态将没有物理视图或控制器。
我希望它们充当调用某些功能的链接。

调用注销方法的服务:

然后是一个用于注销的按钮/链接:

我想要发生的是,当状态nv.logout被触发时,
$grabhutAccountService.logoutUser()必须调用并且必须重定向到'account.main'

这是我到目前为止所做的:
我尝试在nv.logout

服务被调用,但状态没有重定向。所以我尝试了另一种方法。我添加了一个控制器:

$stateChangeSuccess不是被解雇。
所以我尝试使用rootScope:

并像这样使用它:

<a ng-click="$root.logout()" class="button icon icon ion-log-out button-large" menu-close></a>

这工作正常。但我很担心,因为(AFAIK)rootScope 会加载更多数据,这可能会导致运行速度变慢。
此外,每当我需要像上面这样的某种功能时,我都必须再次在 rootScope 中附加功能。
而且我认为这不是一个好方法。顺便说一句,我正在 phonegap 中构建它,这就是内存使用如此重要的原因。

0 投票
2 回答
123 浏览

javascript - $watch 防止 rootScope 更改

我试图让一些 JSON 数据在控制器之间传递。我得到了一些 JSON $http,用延迟设置我的回调$q并将结果分配给我的$rootScope.productList. 一切正常,但是当我添加$watchon 时$rootScope.productList,它返回给我undefined。您对此有任何解决方案吗?

$watch在控制器内部:

在另一个控制器中,我得到了我的数据。我用$http超时替换了 以重现行为。

http://plnkr.co/edit/7wWxXgq5BARYgm0tYVgf

我尝试使用 a $watch,但我会采取任何解决方法。

0 投票
1 回答
1651 浏览

javascript - Angularjs - 广播事件被双重触发

我有这个简单的代码:

广播联系人:addNewContact 实际上是在控制台中放了 2 次“哟”。

我不明白为什么它会被两次发射而不是只有 1 次。

任何帮助表示赞赏,谢谢

0 投票
2 回答
1538 浏览

angularjs - AngularJS - 如何修改 $rootScope 中的变量?

我有一个可能非常愚蠢的问题,但是如何在 Angular 的 $rootScope 中修改变量?我有一个滑入式侧边栏,我想在有人单击缩略图时更改其内容,并且我想出了处理侧边栏中数据来自哪里/侧边栏可见性的最简单方法是全局值, 或在 $rootScope. 我试图让一切尽可能简单,但我只是不知道如何处理修改全局变量。

我围绕这个的角度代码是:

并且连接的 HTML 是

从本质上讲,我试图做到这一点,以便当您单击缩略图时,它将 currentUrl 值从“visual/design/1/”更改为他们单击的任何内容(例如,“music/solo/2”或其他)然后将 detail_visible 的值更改为 false,以便我侧边栏上的类切换,我得到一个不错的小滑入,通过 ng-include 加载新内容,我比我想象的更喜欢它一千倍我会。我已经为此努力了大约三个小时,只要我有机会就打破这个应用程序上的所有其他内容。我在这里搞砸什么?或者,有没有更好的方法来做到这一点?

我使用全局变量的原因是我在多个控制器中有多个缩略图,并且我希望每个都能够动态更改我的 ng-include 中的 URL。