gpt4 book ai didi

javascript - AngularJS 常量

转载 作者:IT王子 更新时间:2023-10-29 03:13:46 26 4
gpt4 key购买 nike

是否可以使用 AngularJS 将一个常量注入(inject)另一个常量?

例如

var app = angular.module('myApp');

app.constant('foo', { message: "Hello" } );

app.constant('bar', ['foo', function(foo) {
return {
message: foo.message + ' World!'
}
}]);

我需要使用 Angular 常量,因为我需要将其注入(inject)到配置例程中。即

app.config(['bar', function(bar) {
console.log(bar.message);
}]);

我知道你只能将常量和提供者注入(inject)到配置例程中,我的理解是你可以对提供者进行依赖注入(inject),但是,这似乎不是这种情况的最佳方法......

预先感谢您的帮助!

最佳答案

你是对的,不可能将 foo 和 bar 都注册为常量。

另外,对于使用提供者作为变通方法,除了必须将数据存储在提供者实例中之外,您几乎做对了:

var app = angular.module('myApp', []);

app.constant('foo', {
message: 'Hello'
});

app.provider('bar', ['foo', function(foo) {
this.data = {
message: foo.message + ' World!'
};

this.$get = function() {
return this.data;
};
}]);

然后在配置 block 中,注入(inject)一个 bar 的提供者实例(不是 bar 实例,因为它在配置阶段尚不可用):

app.config(['barProvider', function(barProvider) {
console.log(barProvider.data.message);
}]);

希望这对您有所帮助。

关于javascript - AngularJS 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24831323/

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