最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Angular 2使用路由自定义弹出组件toast操作示例

来源:动视网 责编:小采 时间:2020-11-27 21:57:24
文档

Angular 2使用路由自定义弹出组件toast操作示例

Angular 2使用路由自定义弹出组件toast操作示例:本文实例讲述了Angular 2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下: 原理: 使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示弹出框, <router-outlet name='apps'></rout
推荐度:
导读Angular 2使用路由自定义弹出组件toast操作示例:本文实例讲述了Angular 2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下: 原理: 使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示弹出框, <router-outlet name='apps'></rout


本文实例讲述了Angular 2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下:

原理:

使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示弹出框,

<router-outlet name='apps'></router-outlet>
<router-outlet name='popup'></router-outlet>

浏览器的导航栏中则这样显示

http://127.0.0.1:4200/(popup:toast//apps:login)

路由配置

const rootRoute: Routes = [
{
 path: 'lists',
 component: Lists,
 outlet: 'apps',
 children: [ ... ]
},
{
 path: 'toast',
 component: Toast,
 outlet: 'popup',
},
...
];

toast内容

<div class="box">
 <div class="toast-box">
 <p class="toast-title">提示</p>
 <div class="toast-content">
 <ng-container *ngIf="toastParams.img">
 <img src="{{toastParams.img}}" class="toast-content-img">
 </ng-container>
 <ng-container *ngIf="toastParams.title">
 <p class="toast-content-p">{{toastParams.title}}</p>
 </ng-container>
 </div>
 </div>
</div>

ts

在ngOninit函数中获取显示的参数即可

this.toastParams = this.popupSVC.getToastParams();

创建用来跳转至popup路由的服务,例如popup.service

import { Injectable } from '@angular/core';
import { Router } from '@angular/router';
@Injectable()
export class PopupService {
 private toastParams;
 private loadingParams;
 constructor(
 private router: Router
 ) { }
 toast(_params) {
 this.toastParams = _params;
 let _duration;
 if (_params.duration) {
 _duration = _params.duration;
 } else {
 _duration = 500;
 }
 const _outlets = { 'popup': 'toast' };
 this.router.navigate([{ outlets: _outlets }]);
 setTimeout(() => {
 const _outlets2 = { 'popup': null };
 this.router.navigate([{ outlets: _outlets2 }]);
 }, _duration);
 }
 getToastParams() {
 return this.toastParams;
 }
}

使用:

一、在app.module.ts中将服务导进来,注册

import { PopupService } from './svc/popup.service';
@NgModule({
 imports: [
 ...
 ],
 declarations: [
 ...
 ],
 providers: [
 PopupService,
 ...
 ],
 bootstrap: [AppComponent]
})

二、在使用的test.ts中导入

import { PangooService } from './svc/pangoo.service';
constructor(
 private popupSVC: PopupService,
) { }

三、在html中定义一个函数

<div (click)="test()"></div>

四、调用

test(){
 this.popupSVC.toast({
 img: '弹出图片地址!',
 title: '弹出消息内容!',
 duration: 2000, //toast多久后消失,默认为500ms
 });
}

更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》

希望本文所述对大家AngularJS程序设计有所帮助。

文档

Angular 2使用路由自定义弹出组件toast操作示例

Angular 2使用路由自定义弹出组件toast操作示例:本文实例讲述了Angular 2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下: 原理: 使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示弹出框, <router-outlet name='apps'></rout
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top