如何有条件地将两个不同的字符串插入到同一个模板中?

代码嘻哈

我是 Angular 的新手,我找不到以下场景的解决方案:我有以下导航,指向相同组件模板的位置register as a familyregister as a sitter链接,例如register.

我的问题是,如何register template使用插值动态自定义例如,以便在我使用register as a family它时显示标题register as a family,反之亦然。

还是我使用了错误的方法?

这是 navbar.component.html :

<mat-toolbar>
  <div class="navigation">
    <button mat-button [matMenuTriggerFor]="menuSitter">For sitters
    </button>
    <mat-menu class="example-menu" #menuSitter="matMenu">
      <button mat-menu-item routerLink="find-family" routerLinkActive="active">
        <span>Find a familiy</span>
      </button>
      <button *ngIf="!authService.isLoggedIn" mat-menu-item routerLink="register" routerLinkActive="active">
        <span>Register as a sitter</span>
      </button>
    </mat-menu>
    <button mat-button [matMenuTriggerFor]="menuFamily">For host families
    </button>
    <mat-menu class="example-menu" #menuFamily="matMenu">
      <button mat-menu-item routerLink="find-sitter" routerLinkActive="active">
        <span>Find a sitter</span>
      </button>
      <button *ngIf="!authService.isLoggedIn" mat-menu-item routerLink="register" routerLinkActive="active">
        <!--(click)="showSignupForm()"-->
        <span>Register as a family</span>
      </button>
    </mat-menu>
</mat-toolbar>

这是 register.component.html:

 <h2 class="mat-title" style="text-align:center;">Register as a {{person}}</h2>
<form class="example-form" [formGroup]="registerForm" (submit)="onSubmit(registerForm)" novalidate>
 /* code */
</form>

很快我怎样才能有条件地改变{{person}}in的值register.componet.ts

大卫

修改您的路由以包含指示注册类型的参数

//routing.ts
//Add this route
{path: '/register/:registrationType', component: RegistrationComponent }

在你的组件中注入路由并根据注册类型初始化 person 变量

import {ActivatedRoute, Params} from '@angular/router';

constructor(private route: ActivatedRoute){}

person: string;
  ngOnInit()
  {
    this.route.params.forEach((params: Params) => {
      let registrationType = params['registrationType'];
      this.person = registrationType == 'person' : 'Person' : 'Family'
    });

修改你的路由器链接

 <button *ngIf="!authService.isLoggedIn" mat-menu-item routerLink="register/person" routerLinkActive="active">
    <span>Register as a sitter</span>
  </button>


  <button *ngIf="!authService.isLoggedIn" mat-menu-item routerLink="register/family" routerLinkActive="active">
    <!--(click)="showSignupForm()"-->
    <span>Register as a family</span>
  </button>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

合并两个不同大小的数据集,有条件地将同一行从较小的数据集复制到较大的数据集中的几行

有条件地将因子级别分为两个不同的级别

如何根据某些伯努利分布有条件地从两个不同的高斯中得出?

是否可以(有条件地)从两个不同的集合中查找

有条件地在mysql select中解析一个字符串

有条件地汇总-将两个查询合并为一个

如何有条件地将JSON反序列化为枚举的两个不同变体?

Rust中有条件编译的同一个函数的不同版本

我如何才能有条件地连接两个不同的数组?

AngularJS模板:如何有条件地将标签包装在另一个标签中

如何使一个类有条件地返回其他两个类之一?

有条件地将两个函数之一应用于一个参数

有条件地从数字字符串中删除最后一个字段

如何从两个不同的表中按两个不同的类别有条件地排序

如何有条件地将数组中的项目拆分为两个项目?

如何触发两个承诺并有条件地等待一个?

有条件地选择行并有条件地插入到另一个表中

Python; 有条件地将两个列表放在一起

有条件地用另一个字符串替换 Pandas 系列中的字符串

如何为同一个字符串获得两个不同的 md5 哈希结果?

Python:将两个json文件中的数据有条件地组合成一个csv文件

如何有条件地将属性插入到 Angular 模板中

有条件地获取 DataFrame 列中的最后一个字符串元素

如何将记录从另一个有条件的表插入到一个表中

有条件地渲染同一个组件不会触发mounted()钩子

有条件地将一个 Pandas 数据帧的列插入到另一个数据帧的列中

如何避免两个 foreach 循环并有条件地将属性值从一个分配到另一个?

如果 id 存在于另一个表中,则有条件地插入到另一个表中,否则插入到 oracle 中的两个表中

如何有条件地从两个不同的 Numpy 数组中选择行?