当前位置:  开发笔记 > 编程语言 > 正文

Angular2类名碰撞

如何解决《Angular2类名碰撞》经验,为你挑选了1个好方法。

我正在使用带有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类的情况下,这个问题的合理解决方案是什么.



1> poke..:

您可以使用语句的别名语法import:

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

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

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

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有