我正在使用带有Typescript的Angular2.
我创建了一个名为的类,Input
并尝试在其中一个使用Input
注释的组件中使用它.现在,当我尝试创建我的Input
类的实例时,我得到了一个不正确的实例,InputMetadata
显然是由于与Input
'@ angular/core'导入的冲突:
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
类的情况下,这个问题的合理解决方案是什么.
您可以使用语句的别名语法import
:
import { Input as InputControl } from '../controls/input'; // … let control = new InputControl({});
您可能希望寻找使您的Input
类更具描述性,因为它不是很清楚它是组件,指令,(表单)控件还是其他东西.