2015-06-04 4 views
0

Можно ли передать переменную в модули TypeScript?Как передать аргумент модулю TypeScript?

При использовании класса, мы можем передать аргументы конструктору:

class validator { 
    constructor(public regex: RegExp) { } 
    ok = (s: string) => this.regex.test(s); 
} 

Но, как я могу передать тот же самый аргумент к модулю?

module validator { 
    var regex = /^[A-Za-z]+$/; 
    export var ok = (s: string) => regex.test(s); 
}; 

ответ

0

Экспорт переменной вы хотите изменить:

module validator { 
    export var regex = /^[A-Za-z]+$/; // <-- export var 
    export var ok = (s: string) => regex.test(s); 
}; 

validator.regex = /.*$/; 

Это сделает модуль ведут себя подобно статическому классу: у вас есть единая точка доступа к этой переменной.

+0

Могу ли я иметь несколько экземпляров модуля? – amin

+0

Нет, вы можете использовать классы, если вам нужно несколько экземпляров. – zlumer

Смежные вопросы