我正在为我的UI创建一个v2。我想保留旧UI并进行更改。所以我想保持新组件的名称与旧组件相同。
那么可以有2个不同的同名组件吗?
答案 0 :(得分:1)
你可以做的是拥有一个旧的和一个新的两个类,当然还有新的和旧的语义命名,并且在主组件类中,具有在两者之间切换的逻辑。
或者您可以作为Alias导入,这意味着这两个类可以是相同的名称,但您使用它的地方显然必须是不同的:
import { MyComponent as OldComponent } from '../old/my-component'
import { MyComponent} from '../new/my-component'
答案 1 :(得分:0)
创建v2的最佳方法是使用version control从旧UI进行分支,或者重构您的应用以使用新的UI。在任何情况下,我都不建议创建具有相同名称的组件,尤其是当它们用于相同目的时。它只会让你自己和其他开发者感到困惑。
话虽如此,如果你需要组件来共享一个共同的逻辑。我建议你让你的组件继承一个基类:
export abstract class BaseComponent implements OnInit {
ngOnInit() {
// Example
}
}
@Component({
selector: 'a-selector'
})
export class NewComponent extends BaseComponent {
}