我是angular 2的新手,我有一个名为Register的组件,在这1个组件中我有5个HTML页面,其中第一个注册页面的一次点击我将进入第二个注册页面然后点击第二个注册页面,我将进入第三个注册页面。如何在1个组件中创建5个HTML页面我的意思是有没有一种方法可以为每个组件实现多个模板?如何做路由?主要目的是有单独的HTML & SCSS文件和路由逻辑。Angular 2:同一组件中的多个HTML页面
截至目前,我正在使用ngIf
呈现页面,这使得我的页面非常冗长。有没有办法实现这一目标?
<!--View 1-->
<div class="open-card-BG" *ngIf="registerView=='regView1'">
Register Page 1
</div>
<!--View 2-->
<div class="open-card-BG" *ngIf="registrationView=='regView2'">
Register Page 2
</div>
@Component({
selector: 'register-page',
templateUrl: './register-page.component.html',
styleUrls: ['./register-page.component.scss'],
providers : [RegisterService,Configuration,LocalStorageService]
})
ngOnInit() {
this.registerView= "regView1";
}
changeView(view) {
this.registerView= view;
}
previousView(view) {
this.registerView= view;
}
你能更具体要达到什么样的?你似乎有一个RegisterPage组件,它拥有不同的RegisterViews?你想让这些有不同的模板/样式吗?因为如果它们在标记和样式上不同,那么它们应该作为单个组件分离。如果它们的功能匹配,或者它们共享大量相同的代码,则可以创建类似于基本组件的扩展子视图。 – lexith
为每个html你应该创建新组件,然后在ngif你可以使用这个组件 – porgo