我在使用typeScript
和angular2
時遇到問題。
我想創建一個helper.ts
文件導出許多分類/常用功能重用。
但是Helper class
需要在構造函數中導入別人服務,這樣當另一個類導入Helper class
時,必須設置參數是那些服務。我不想要這個。如何在打字稿中編寫助手類?
我怎麼能寫Helper class
,我可以在任何地方使用時import {Helper} from ..
這是我的示例: Helper.ts
import {TranslateService, TranslatePipe} from 'ng2-translate/ng2-translate';
import {Inject, Component} from 'angular2/core';
@Component({
providers: [TranslateService]
})
export class Helpper {
public trans;
public lang;
public properties;
constructor(trans: TranslateService) {
this.trans = trans;
//This is variable for translate function
this.lang = this.trans.currentLang;
this.properties = this.trans.translations[this.lang];
}
translate(key) {
return this.properties[key];
}
}
RenderTab.ts
import {Component, Inject, Injectable} from 'angular2/core';
import {Helper} from './helpper'
@Component({
providers: [Helper]
})
export class RenderTab {
public helper;
constructor(helper: Helper) {
this.helper = helper;
}
render() {
var test = this.helper.translate('string');
}
}
HomePage.ts
import {Component, Inject, Injectable} from 'angular2/core';
import {RenderTab} from './RenderTab'
@Component({
selector: 'div',
templateUrl: './HomePage.html',
providers: [RenderTab]
})
export class ColorPicker {
public renderTab;
constructor(renderTab: RenderTab) {
this.renderTab = renderTab;
var test = this.renderTab.render();
}
}
請幫助我,謝謝。
Gaurav Mukherjee,謝謝 – Sophia
是否可以使助手類爲靜態,所以我們不需要添加助手作爲屬性,而可以做一些像Helper.whatever()這樣的事情? –
@DanHastings你可以使用這個函數,或者創建一個包含值和函數的對象。例如'const Helper = {whatever:(a)=> {a + 1}}' –