在angular-logger上,我們正在嘗試增強$log
,但我們希望在不更改的情況下使用角度模塊和組件的名稱。要做到這一點,我們需要得到AngularJS 在運行時上下文,也就是說,模塊名稱和控制器,服務或指令名。在運行時獲取模塊和控制器|服務|指令名稱
app.module("SampleModule").
controller("ControllerOne", function ($log) {
$log.debug("I am ready!")
}).
controller("ControllerTwo", function ($log) {
$log.debug("I am ready!")
});
默認$log
輸出:
> I am ready!
> I am ready!
如果我們能夠獲得在運行時模塊和控制器的名稱,然後使用增強$log
我們可以得到更豐富的輸出:
> SampleModule.ControllerOne: I am ready!
> SampleModule.ControllerTwo: I am ready!
最好選項可以在不更改控制器代碼的情況下得到它。也許有辦法獲得有關接收$ log依賴注入的實體的元信息嗎?
有什麼建議嗎?
您可以創建一個指令NG-控制器,它會執行每一個控制器和分析提供給NG-控制器作爲字符串,並將其設置在比分一些變量..然後使用該變量來打印控制器的內容名稱 – harishr
角度確實執行所有指令,如果發現多個指令同名 – harishr