我正在使用带有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
类,这个问题的合理解决方案是什么。
答案 0 :(得分:8)
您可以使用aliasing syntax of the import
statement:
import { Input as InputControl } from '../controls/input';
// …
let control = new InputControl({});
您可能希望寻找使Input
类更具描述性的类,因为它不是很清楚它是组件,指令,(表单)控件还是其他东西。