Angular2类名碰撞

时间:2016-07-20 09:34:37

标签: angular

我正在使用带有Typescript的Angular2。

我创建了一个名为Input的类,并尝试在其中一个使用Input注释的组件中使用它。现在,当我尝试创建Input类的实例时,我得到了一个不正确的InputMetadata实例,这显然是由于与Input从' @ angular /导入的冲突造成的核心':

import { Component, Input, OnInit }  from '@angular/core';

import { Input } from '../controls/input';

@Component({
    moduleId: module.id,
    selector: 'dynamic-form',
    templateUrl: 'dynamic-form.component.html',
    directives: [DynamicFormInputComponent, REACTIVE_FORM_DIRECTIVES],
})
export class DynamicFormComponent implements OnInit {
    ngOnInit() {
         let control = new Input({});
         console.log(control);

    }
}

有没有办法在本地对一个类进行别名,例如这样我的Input将作为FormInput导入..如果不是,如果不重命名我的Input类,这个问题的合理解决方案是什么。

1 个答案:

答案 0 :(得分:8)

您可以使用aliasing syntax of the import statement

import { Input as InputControl } from '../controls/input';

// …
let control = new InputControl({});

您可能希望寻找使Input类更具描述性的类,因为它不是很清楚它是组件,指令,(表单)控件还是其他东西。