十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
Angular+Service怎樣改進(jìn)日志功能,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站制作、網(wǎng)站設(shè)計、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團隊10余年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
Angular
是一個非常受歡迎的開發(fā)框架,前端開發(fā)者們喜歡在應(yīng)用中使用console
去調(diào)試它們的代碼,但是由于持續(xù)交付/部署的需要,這些調(diào)試代碼會被刪除,不會進(jìn)入生產(chǎn)發(fā)布環(huán)境中?!鞠嚓P(guān)教程推薦:《angular教程》】
讓 Angular 幫我們實現(xiàn)這個功能
Angular
為我們提供了將 Services注冊到應(yīng)用中的功能,使得我們可以在組件中重用一些功能。
因此,我們可以利用Service
來管理我們的控制臺輸出,從而改進(jìn)日志功能。
1: 使用Service來管理console
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class LogService { constructor() { } trace(...data: any[]): void { console.trace(data); } log(...data: any[]): void { console.log(data); } }
在AppComponent
組件中使用它::
logService.log('console executed from AppComponent');
上面的代碼很容易理解,但是有一個問題,我們無法得知日志是在應(yīng)用的哪一個組件中打印的,除非我們在日志消息中表明,例如圖中的日志信息表明它來自于AppComponent
組件,我們希望日志的右側(cè)能自動表明它來自哪個組件,而不是定義整個日志系統(tǒng)的文件位log.service.ts:xx
,并且不需要我們在日志消息中手動表明。
1.1: 使用logService.trace()
它可以用于跟蹤日志的來源,看起來很不錯,但實際上它會添加一些不必要的日志記錄。
2: logService增強版
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class LogService { constructor() { } trace(source: string, ...data: any[]): void { console.trace(data); } log(source: string, ...data: any[]): void { console.log(data); } }
與前面相比,增強版的logService
類的方法接收額外的參數(shù)。
logService.log('AppComponent','console executed from AppComponent');
看完上述內(nèi)容,你們掌握Angular+Service怎樣改進(jìn)日志功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!