时间:2021-05-28
本文实例讲述了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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.自定义提示框组件src/components/Toast/index.js/***自定义提示框(Toast)组件*/varToast={};varshowT
简介实现功能自定义文本自定义类型(默认,消息,成功,警告,危险)自定义过渡时间使用vue-cli3.0生成项目toast全局组件编写/src/toast/toa
本文实例讲述了Android开发实现自定义Toast、LayoutInflater使用其他布局。分享给大家供大家参考,具体如下:内容:1.自定义样式toast2
Vue.js使用自定义事件的表单输入组件自定义事件可以用来创建自定义的表单输入组件,使用v-model来进行数据双向绑定。要牢记:这不过是以下示例的语法糖:所以
本文实例讲述了微信小程序自定义toast组件的方法。分享给大家供大家参考,具体如下:怎么创建就不说了,前面一篇有微信小程序自定义prompt组件直接上代码wxm