假设我想实现并使用以下ts模块。它只是一个验证名字的基本验证器:
export namespace Validators
{
export class NameValidator
{
constructor()
{
}
FirstNameIsValid(firstName: string)
{
return firstName.length < 20;
}
}
}
对我来说,实施上述模块的正确方法是什么?另外,从ng2组件中引用和使用该模块的正确方法是什么?以下import语句不起作用:
import { Validators.NameValidator } from './modules/name-validator';
答案 0 :(得分:0)
我过去的做法是创建一个模块
module Formatter{
export class SsnFormatter {
ssn: string;
constructor(unformattedSsn: string) {
this.ssn = unformattedSsn.replace(/(\d{3})(\d{2})(\d{4})/, '$1-$2-$3');
}
formatSsn() {
return this.ssn;
}
}
}
然后在其他打字稿文件中将其称为
let f = new Formatter.SsnFormatter('111111111');
console.log(f);
只要您的类位于同一模块名称空间内,您就应该能够直接引用它。
这是来自角度1.x项目,但TS或角度的版本无关紧要,这是在模块之间进行通信的打字稿。