Angular 2使用路由自定义弹出组件toast操作示例
本文实例讲述了Angular2使用路由自定义弹出组件toast操作。分享给大家供大家参考,具体如下:
原理:
使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示弹出框,
浏览器的导航栏中则这样显示
http://127.0.0.1:4200/(popup:toast//apps:login)
路由配置
constrootRoute:Routes=[
{
path:'lists',
component:Lists,
outlet:'apps',
children:[...]
},
{
path:'toast',
component:Toast,
outlet:'popup',
},
...
];
toast内容
提示
{{toastParams.title}}
ts
在ngOninit函数中获取显示的参数即可
this.toastParams=this.popupSVC.getToastParams();
创建用来跳转至popup路由的服务,例如popup.service
import{Injectable}from'@angular/core';
import{Router}from'@angular/router';
@Injectable()
exportclassPopupService{
privatetoastParams;
privateloadingParams;
constructor(
privaterouter: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(){
returnthis.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(
privatepopupSVC:PopupService,
){}
三、在html中定义一个函数
四、调用
test(){
this.popupSVC.toast({
img:'弹出图片地址!',
title:'弹出消息内容!',
duration:2000,//toast多久后消失,默认为500ms
});
}
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJSMVC架构总结》
希望本文所述对大家AngularJS程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。