Angular 2:同一组件中的多个HTML页面

前端之家收集整理的这篇文章主要介绍了Angular 2:同一组件中的多个HTML页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是角度2的新手,我有一个名为Register的组件,在这1个组件中我有5个 HTML页面,其中一次点击第一个注册页面,我将进入第二个注册页面,点击第二个注册页面,我将转到第3个注册页面.如何在一个组件中制作5个HTML页面我的意思是有没有办法在每个组件上实现多个模板?如何做路由?主要意图是单独的HTML& SCSS文件和路由逻辑.

截至目前,我正在使用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;
      }

解决方法

尝试这样做:

@Component({
    selector: 'register-page',template: `
            <div class="open-card-BG" *ngIf="registerView == 'regView1'">Reg View 1 Content</div>
            <div class="open-card-BG" *ngIf="registerView == 'regView2'">Reg View 2 Content</div>
            `,providers: [RegisterService,LocalStorageService]
})

export class Appcomponent {
    registerView = 'regView1';
}

否则这样做

page1.component.html

<div>
    <h1>Page1 Component Content</h1>
</div>

page2.component.html

<div>
    <h1>Page2 Component Content</h1>
</div>

home.component.html

<div>
    <div class="open-card-BG" *ngIf="registerView == 'regView1'">
         <app-page1-component></app-page1-component>
    </div>
    <div class="open-card-BG" *ngIf="registerView == 'regView2'">
         <app-page2-component></app-page2-component>
    </div>
</div>

component.ts

@Component({
    selector: 'app-home',templateUrl: './home.component.html',styleUrls: ['./home.component.css']
})

export class HomeComponent {
    registerView = 'regView1';
}

猜你在找的Angularjs相关文章