[英]How to extend external javascript library with angular 2?
我已經將moment添加到我的項目中,我想知道如何才能全局更改moment.fn.toJSON
的行為。
目前,我正在使用構造函數來執行此操作,並且它可以正常工作。 但是我不想將此代碼粘貼到所有控制器中。
所以這里是摘錄:
import * as moment from 'moment';
constructor(fb: FormBuilder) {
moment.fn.toJSON = function () { return this.format(); }
}
有人有主意嗎?
只需在3rd party庫中擴展該類並根據需要添加自定義方法即可。
例如:
// 1)擴展類:
export class MyFormBuilder extends FormBuilder{
public myCoolMethod(): string{
return "Awesome stuff!"
}
}
// 2)將您的類導入“應用程序模塊”(用於系統范圍的訪問)
import { MyFormBuilder } from './Services/MyFormBuilder';
@NgModule({
declarations: [AppComponent, AppHeader, AppFooter],
imports: [BrowserModule, ReactiveFormsModule],
providers: [MyFormBuilder],
bootstrap: [AppComponent],
})
`
// 3)在代碼中導入,注入和使用擴展類和新方法:
import { MyFormBuilder } from './Services/MyFormBuilder';
export class AppComponent{
constructor(private fb: MyFormBuilder){}
pageTitle : string = this.fb.myCoolMethod();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.