我已经在.value()
构造中定义了一堆全局值。我希望能够在其中定义变量,以便我可以引用变量而不是反复重复信息,类似于:
.value('globalValues',
{
host: "http://10.0.2.2/",
site: "MySite/",
adsApi: host + site + 'api/AdsApi/',
accountApi: host + site + 'api/AccountApi/',
accountLogout: host + site + 'Account/LogoutApi/'
})
目前这不起作用,因为host
未定义,我无法在该结构中定义host
。这可能是其他方式吗?
答案 0 :(得分:0)
value
服务为syntactic sugar over factory
service(且factory
为加油provider
服务。
app.value('globalValues', { ... });
与
相同app.factory('globalValues', (() => {
var eagerlyAssignedObj = { ... };
return () => eagerlyAssignedObj;
})());
factory
是无法在服务定义时定义的对象的用例。通常这意味着应该将其他数据作为另一项服务注入:
app.factory('globalValues', (hostAndSiteService) => ({
host: hostAndSiteService.host,
...
}));