我的应用程序使用组件和boostrapper。我想创建一个将设置全局日期变量的日期选择器。我试图创建一个服务,使用rootscope,基本上我可以在stackoverflow上找到所有解决方案,但它似乎没有用。
创建跨所有组件共享的全局变量的正确方法是什么?
答案 0 :(得分:0)
使用全局变量存储这样的状态通常不是一个好主意,因为很难跟踪变异的内容。
假设Angular 1.x,要共享这样的信息,您只需创建一个存储您正在跟踪的数据的服务。我将在此处添加免责声明,即网络应用中的状态管理仍然是一个棘手的问题。你可以采用Redux风格的方法,但我现在将它保持基本。
angular
.module('app', [])
.controller('testController', function(testService) {
console.log(testService.getDate());
});
angular.module('app')
.service('testService', function() {
var date = new Date();
function getDate() {
return date;
}
function setDate(newDate) {
date = newDate;
}
});
这样,您就有了一个读取/改变日期的界面。您可以将它注入任意数量的控制器/组件。
希望有所帮助(我知道答案不在Typescript中,但我认为因为问题有一个基本的解决方案,所以没关系太多 - 如果你想要一个Typescript答案,请告诉我,我我会为你改变:))。