gpt4 book ai didi

javascript - 从另一个 Controller 更新 $scope 值

转载 作者:行者123 更新时间:2023-12-03 05:06:59 24 4
gpt4 key购买 nike

我有一个侧面菜单及其 Controller 。在另一个 Controller 中,我获取用户数据并想要更新我的菜单项。如何实现这一目标?我尝试使用 $watch 和服务但没有成功。另外,我从未使用过 $rootScope,因此如果它不是唯一的解决方案,请避免使用。

.controller('menuCtrl', function($scope) {
$scope.username = ""
})
.controller('afterloginCtrl', function($scope) {
var a = "this is username"
$scope.username = a // here I wish to update username in menuCtrl
})

如果您需要更多代码或详细信息,请告诉我。

编辑

实际上,我通过数据库表更新用户信息,从他们中我检索用户名和其他信息。因此菜单 Controller 每次都需要使用数据库中的当前值进行更新

最佳答案

您可以使用某些服务在 Controller 之间共享数据。
例如:

.service('currentUser', () => ({data: {}, someMethod: () => {}}))
.controller('Ctrl1', (currentUser, $scope) => {$scope.user = currentUser.data;})
.controller('Ctrl2', (currentUser) => {currentUser.data.name = 'username';});

显然,您还可以通过一些适当的方法来扩展您的服务。等等

那么你可以使用这些方法:

.controller('Ctrl2', (currentUser, api) => {
api.retrieveUser()
.then(user => currentUser.setData(user));
});

关于javascript - 从另一个 Controller 更新 $scope 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41974077/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com