根据到达角度5替换页面内容

时间:2018-01-28 10:59:08

标签: javascript angular typescript components

我需要显示一个包含以下文字的页面:

"通过电子邮件"

成功注册

"我们已发送确认注册的电子邮件"等

所有窗户看起来都一样。只有内容会有所不同。所以:

  1. 我应该为每条消息创建一个组件,还是创建一个内容将被更改的通用组件?
  2. 如果第二个选项 - 怎么做?我该怎么用?

2 个答案:

答案 0 :(得分:0)

尝试使用@Input()属性声明一个组件,并使用您要显示的必需文本进行设置。

@Component({
selector: 'loginPage',
templateUrl: 'home.html'
 })
export class LoginPage{
@Input('content') content:any;

constructor() {}
}

现在在app.module.ts中导入组件(声明和entryCompnent部分)。 在html文件中使用component作为选择器,如下所示。

 <div *ngIf="!isEmailConfirm">
 <loginPage [content]="Successfully registered by email"></loginPage>
 </div>

 <div *ngIf="isEmailConfirm">
 <loginPage [content]="We have sent an email confirming registration"></loginPage>
 </div>

在您的父组件中声明isEmailConfirm boolean varaible,如下所示

export class ParentPage{
isEmailConfirm :boolean=false;

constructor() {}
}

答案 1 :(得分:0)

我建议您从http响应本身获取需要显示的消息,无论您需要发送什么内容都可以从后端更改。另外,如果您在响应中获得一些成功代码,则需要创建一个与相应消息关联的字典。但是您应该尝试从请求本身获得一些响应。