1
我有應用程序配置對象作爲依賴模塊中的值。在被注入服務之前編輯它的值
我想在依賴模塊內部注入任何地方之前編輯該對象。
如何。
dependency.value('sett', {
bla: 'bla'
});
dependant.config(function (sett) {
// sett is not available here
});
我有應用程序配置對象作爲依賴模塊中的值。在被注入服務之前編輯它的值
我想在依賴模塊內部注入任何地方之前編輯該對象。
如何。
dependency.value('sett', {
bla: 'bla'
});
dependant.config(function (sett) {
// sett is not available here
});
您可以使用$provide
:
dependant.config(function ($provide) {
$provide.value('sett', { bla: 'not bla' });
});
演示:http://plnkr.co/edit/cEqxrMjro72RADymEgow?p=preview
編輯:
如果要改爲編輯重寫你可以使用運行塊的整個價值對象的特定值:
運行塊 - 獲取在創建後的注射器和用於kickstart的應用程序執行。只有實例和常量可以注入到運行塊中 。這是爲了防止在應用程序運行時進一步配置系統 。
dependant.run(function (sett) {
sett.bla = 'not bla';
});
這作爲覆蓋完整的對象。我只需要編輯現有的一些屬性。 – Birowsky
對不起,誤會。更新了我的答案。 – tasseKATT
這是壞蛋。所以你說的是沒有服務或工廠或控制器正在運行/加載/實例化運行塊之前?那是什麼'注射器被創造'是什麼意思?索引所有服務/工廠? – Birowsky