angular material dialog应用
1. 打开弹窗的点击事件
project.component.html
<button mat-icon-button class="action-button" (click)="editDialog(project)">
<mat-icon>create</mat-icon>编辑
</button>
<button mat-mini-fab color="warn" class="add-project" (click)="openDialog()">
<mat-icon>add</mat-icon>
</button>
project.component.ts
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material';
import { NewProjectComponent } from '../new-project/new-project.component';
@Component({
selector: 'app-project',
templateUrl: './project.component.html',
styleUrls: ['./project.component.scss']
})
export class ProjectComponent implements OnInit {
projects=[
{
"name":'企业协作平台',
"desc":'这是一个企业内部项目',
"coverImg":'assets/img/covers/0.jpg'
},
{
"name":'员工管理平台',
"desc":'这是一个企业内部项目',
"coverImg":'assets/img/covers/1.jpg'
}
];
constructor(public dialog:MatDialog) { }
ngOnInit() {
}
// 新建项目
openDialog(){
const dialogRef = this.dialog.open(NewProjectComponent, {
width: '250px'
});
dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed',result);
});
}
// 编辑项目
editDialog(data){
const dialogRef = this.dialog.open(NewProjectComponent,{
width:'250px',
data:data
});
dialogRef.afterClosed().subscribe(result=>{
console.log('The dialog was closed',result);
})
}
}
2. 弹窗
new-project.component.html
<h1 mat-dialog-title>新建项目</h1>
<div mat-dialog-content>
<mat-form-field>
<input matInput [(ngModel)]="project.name" placeholder="项目名称">
</mat-form-field>
<mat-form-field>
<input matInput [(ngModel)]="project.desc" placeholder="项目描述">
</mat-form-field>
</div>
<div mat-dialog-actions>
<button mat-raised-button (click)="onNoClick()">关闭</button>
<button mat-raised-button [mat-dialog-close]="project" cdkFocusInitial color="primary">保存</button>
</div>
new-project.component.ts
import { Component, OnInit, Inject } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
@Component({
selector: 'app-new-project',
templateUrl: './new-project.component.html',
styles: []
})
export class NewProjectComponent implements OnInit {
project:Object;
constructor(
public dialogRef:MatDialogRef<NewProjectComponent>,
@Inject(MAT_DIALOG_DATA) public data
) { }
ngOnInit() {
this.project = this.data||{};
}
onNoClick(){
this.dialogRef.close();
}
}
3. 特别注意:new-project组件是一个服务。在project.module.ts中必须写入entryComponent中,否则会报错
import { NgModule } from '@angular/core';
import { ProjectComponent } from './project/project.component';
import { SharedModule } from '../shared/shared.module';
import { NewProjectComponent } from './new-project/new-project.component';
@NgModule({
imports: [
SharedModule
],
declarations: [ProjectComponent, NewProjectComponent],
entryComponents:[
NewProjectComponent
]
})
export class ProjectModule { }
angular material dialog应用的更多相关文章
- [转]Angular 4|5 Material Dialog with Example
本文转自:https://www.techiediaries.com/angular-material-dialogs/ In this tutorial, we're going to learn ...
- Angular 2 to Angular 4 with Angular Material UI Components
Download Source - 955.2 KB Content Part 1: Angular2 Setup in Visual Studio 2017, Basic CRUD applicat ...
- Angular Material design设计
官网: https://material.io/design/ https://meterial.io/components 优秀的Meterial design站点: http://material ...
- [转]Angular4 引用 material dialog时自定义对话框/deep/.mat-dialog-container
本文转自:https://blog.csdn.net/qq_24078843/article/details/78560556 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- Angular Material & Hello World
前言 Angular Material(下称Material)的组件样式至少是可以满足一般的个人开发需求(我真是毫无设计天赋),也是Angular官方推荐的组件.我们通过用这个UI库来快速实现自己的i ...
- 手势模型和Angular Material的实现
iPhone的出现让手势操作大为流行,也使得手势编程成为开发人员的挑战. 拟物设计也把手势编程纳入在内,大概也想制定一个在交互模型标准.现阶段因为MD还在预发布阶段,因此还只实现了单点手势(一个指头) ...
- 【转】Android新组件Material Dialog,SwipeRefreshLayout,ListPopupWindow,PopupMenu等
朝花夕拾----新组件的学习和使用 分类: Android UI2015-06-26 11:31 440人阅读 评论(0) 收藏 举报 uidialogMaterial 目录(?)[-] Mate ...
- Material使用11 核心模块和共享模块、 如何使用@angular/material
1 创建项目 1.1 版本说明 1.2 创建模块 1.2.1 核心模块 该模块只加载一次,主要存放一些核心的组件及服务 ng g m core 1.2.1.1 创建一些核心组件 页眉组件:header ...
- Angular Material 白天模式和黑夜模式
Material design调色板 https://www.materialpalette.com/ 明暗:虽然颜色不变,但是针对白天黑夜有做不同处理. 叠加:对话框,弹出菜单,事先是没有加载的.是 ...
随机推荐
- Objective-C(十九、通知-消息发送模式之中的一个)——iOS开发基础
结合之前的学习笔记以及參考<Objective-C编程全解(第三版)>,对Objective-C知识点进行梳理总结. 知识点一直在变.仅仅是作为參考.以苹果官方文档为准~ 十九.通知-消息 ...
- JavaFX 一 出生新手村(阅读小规则)
我就不讲IDE怎么装的,网上有的是,我仅仅是说说我学习过程中遇到的,该注意的东西 1.JavaFX刚開始出是基于脚本script开发的语言,所以网上会有流传比較多关于script的JavaFX,对于被 ...
- Think Pad笔记本分区解决思路及方法
Think pad笔记本分区解决思路及方法 近日好友拿着新买的Thinkpad X300过来找我,说这个笔记本只有一个分区,所有的东西不得放在C盘,希望再多分出几个分区.抱怨原先在wind ...
- A股借壳上市?暂时没戏
近期股市波动,让不少P2P概念股打回原型.同花顺数据显示,上周五P2P概念股整体下跌9.28%,其中除了5家上市公司停牌外,14家P2P概念股跌幅都超过了9%.此前大热的多伦股份自6月23日以来,股价 ...
- maven项目引入sqljdbc4 找不到包的完美 解决方案
今天碰到了这个问题,解决了,顺便做一下记录.首先来 重现 一下这个问题,maven install报错,说 找不到这个包,但是其实 我已经安装了. 我们 再来 看看 maven本地仓库里面有 什么,这 ...
- vim--学习之emmet插件前端开发
Emmet 在vim的使用: 1.嵌套 <ctr+y>+,(ctr+y+逗号三者的组合键,ctr+y一起按在按逗号)相当于Ememet中的Tab键. 2.内容的包围: 写好内容,退出编辑模 ...
- windows10系统window键失灵,没有反应
今天键盘的的Window键(win键)按了没反应,某度一圈全是它的垃圾营销号文章,没卵用..最后在微软官方社区支持找到解决方案.也建议大家遇到系统问题到微软社区去寻求帮助,毕竟人家是专业. 解决办法 ...
- 如何优雅的写UI——(3)添加MFC选项卡
窗体创建完成,接下来我们讲讲控件的使用 首先在CFormView窗体下选项卡的成员变量,这里我选择MFC下的选项卡类库:CMFCTabCtrl class CtabView : public CFor ...
- 【Educational Codeforces Round 36 C】 Permute Digits
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] //从大到小枚举第i(1..len1)位 //剩余的数字从小到大排序. //看看组成的数字是不是小于等于b //如果是的话. //说 ...
- Css学习总结(1)——20个很有用的CSS技巧
1. 黑白图像 这段代码会让你的彩色照片显示为黑白照片,是不是很酷? img.desaturate { filter: grayscale(100%); -webkit-filter: graysca ...