在以下代码中:
var myApp = angular.module('myApp', []);
myApp.controller('UserCtrl', ['$scope', function ($scope) {
// Let's namespace the user details
// Also great for DOM visual aids too
$scope.user = {};
$scope.user.details = {
"username": "Todd Motto",
"id": "89101112"
};
}]);
我有成员对象用户定义($ scope.user)。然而,这在控制器内定义。是否可以将其创建为全局对象,以便我的应用程序中的其他控制器可以访问同一个对象?
答案 0 :(得分:2)
您可以定义在所有控制器之间共享的服务:
app.factory('userService', function() {
return {
user: {
details: {
username: 'Todd Motto',
id: 89101112
}
}
};
});
然后将服务注入您的控制器:
app.controller('ctrl', function($scope, userService) {
$scope.user = userService.user;
});
答案 1 :(得分:0)
使用$ rootScope,这将使其全局化,因为只有一个。
以下是阅读详情的链接:https://docs.angularjs.org/api/ng/service/ $ rootScope
请勿忘记在使用前将其注入控制器。
希望这有帮助。