Angular8中如何正确使用PrimeNg Toast
How to use PrimeNg Toast correctly in Angular 8
它正在工作,但不是它应该的那样。在我按下提交按钮后,消息只是显示为普通文本,而不是适当的 toast
组件。
我遵循了文档中的所有内容。这是我的文件。
package.json
"dependencies": {
...
"primeicons": "^2.0.0",
"primeng": "^8.0.3",
...
},
angular.json
"styles": [
"src/styles.css",
"node_modules/primeicons/primeicons.css",
"node_modules/primeng/resources/themes/nova-light/theme.css",
"node_modules/primeng/resources/primeng.min.css"
],
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
...
import { ToastModule } from 'primeng/toast';
import { MessageService } from 'primeng/api';
@NgModule({
declarations: [
...
],
imports: [
BrowserModule,
BrowserAnimationsModule,
...
ToastModule
],
providers: [MessageService],
bootstrap: [AppComponent]
})
export class AppModule { }
contribute.component.ts
import { Component, OnInit } from '@angular/core';
...
import { MessageService } from 'primeng/components/common/api';
@Component({
selector: 'app-contribute',
templateUrl: './contribute.component.html',
styleUrls: ['./contribute.component.css']
})
export class ContributeComponent implements OnInit {
constructor(private messageService: MessageService, ...) { }
addSingle() {
this.messageService.add({severity:'success', summary:'Service Message', detail:'Via MessageService'});
}
ngOnInit() {
...
}
onSubmit() {
...
this.addSingle();
}
}
contribute.component.html
<div class="container">
<div class="row pt-5">
<div class="col-md-12 col-lg-12 col-sm-12 bg-light">
<form [formGroup]="editorForm" (ngSubmit)="onSubmit()">
<div class="form-group">
...SOME INPUT FIELDS
</div>
<p-toast position="top-left"></p-toast>
<button class="btn btn-primary mt-3 mb-3">Submit</button>
</form>
</div>
</div>
</div>
我的意思是,它的工作。但不像一个好的 toast
组件。请指正。
在Angular8:试试下面的方法
准备步骤:
在app.module.ts中:
import { MessagesModule } from 'primeng/messages';
import { MessageModule } from 'primeng/message';
import { ToastModule } from 'primeng/toast';
和进口
imports: [
BrowserModule,
BrowserAnimationsModule,
FormsModule,
AppRoutingModule,
MessagesModule,
MessageModule,
ToastModule,
],
第 1 步:在组件中注入消息服务供您选择,如下所示
import { MessageService } from 'primeng/api';
第 2 步:在同一个组件上,您需要添加如下提供程序
@Component({
selector: 'app-import-project',
templateUrl: './import-project.component.html',
styleUrls: ['./import-project.component.css'],
providers: [MessageService],
})
第 3 步:在构造函数中声明消息服务
constructor(
private messageService: MessageService,
private router: Router,
private progress: NgProgress
) {}
第 4 步:在相同的 component.ts file:
假设您要抛出错误消息
showError() {
console.log('Authentication Failed');
this.messageService.add({
severity: 'error',
summary: 'Authentication Failed',
detail: 'API Key or URL is invalid.',
});
}
第 5 步:在 relevant.html 文件中。添加 HTML 标签,如下所示
<p-toast position="bottom-center"></p-toast>
输出:这绝对应该像下面这样抛出正确的吐司
希望这会解决您的问题,而不是每次都创建新项目。请试一试。
它正在工作,但不是它应该的那样。在我按下提交按钮后,消息只是显示为普通文本,而不是适当的 toast
组件。
我遵循了文档中的所有内容。这是我的文件。
package.json
"dependencies": {
...
"primeicons": "^2.0.0",
"primeng": "^8.0.3",
...
},
angular.json
"styles": [
"src/styles.css",
"node_modules/primeicons/primeicons.css",
"node_modules/primeng/resources/themes/nova-light/theme.css",
"node_modules/primeng/resources/primeng.min.css"
],
app.module.ts
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
...
import { ToastModule } from 'primeng/toast';
import { MessageService } from 'primeng/api';
@NgModule({
declarations: [
...
],
imports: [
BrowserModule,
BrowserAnimationsModule,
...
ToastModule
],
providers: [MessageService],
bootstrap: [AppComponent]
})
export class AppModule { }
contribute.component.ts
import { Component, OnInit } from '@angular/core';
...
import { MessageService } from 'primeng/components/common/api';
@Component({
selector: 'app-contribute',
templateUrl: './contribute.component.html',
styleUrls: ['./contribute.component.css']
})
export class ContributeComponent implements OnInit {
constructor(private messageService: MessageService, ...) { }
addSingle() {
this.messageService.add({severity:'success', summary:'Service Message', detail:'Via MessageService'});
}
ngOnInit() {
...
}
onSubmit() {
...
this.addSingle();
}
}
contribute.component.html
<div class="container">
<div class="row pt-5">
<div class="col-md-12 col-lg-12 col-sm-12 bg-light">
<form [formGroup]="editorForm" (ngSubmit)="onSubmit()">
<div class="form-group">
...SOME INPUT FIELDS
</div>
<p-toast position="top-left"></p-toast>
<button class="btn btn-primary mt-3 mb-3">Submit</button>
</form>
</div>
</div>
</div>
我的意思是,它的工作。但不像一个好的 toast
组件。请指正。
在Angular8:试试下面的方法
准备步骤:
在app.module.ts中:
import { MessagesModule } from 'primeng/messages';
import { MessageModule } from 'primeng/message';
import { ToastModule } from 'primeng/toast';
和进口
imports: [
BrowserModule,
BrowserAnimationsModule,
FormsModule,
AppRoutingModule,
MessagesModule,
MessageModule,
ToastModule,
],
第 1 步:在组件中注入消息服务供您选择,如下所示
import { MessageService } from 'primeng/api';
第 2 步:在同一个组件上,您需要添加如下提供程序
@Component({
selector: 'app-import-project',
templateUrl: './import-project.component.html',
styleUrls: ['./import-project.component.css'],
providers: [MessageService],
})
第 3 步:在构造函数中声明消息服务
constructor(
private messageService: MessageService,
private router: Router,
private progress: NgProgress
) {}
第 4 步:在相同的 component.ts file:
假设您要抛出错误消息
showError() {
console.log('Authentication Failed');
this.messageService.add({
severity: 'error',
summary: 'Authentication Failed',
detail: 'API Key or URL is invalid.',
});
}
第 5 步:在 relevant.html 文件中。添加 HTML 标签,如下所示
<p-toast position="bottom-center"></p-toast>
输出:这绝对应该像下面这样抛出正确的吐司
希望这会解决您的问题,而不是每次都创建新项目。请试一试。