angular可自定义的对话框,弹窗指令
2024-10-18 22:32:19
指令不明的,推荐 AngularJS指令参数详解
以下为示例代码
<!DOCTYPE html>
<html lang="en" ng-app="app">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="../dist/lib/angular/angular.min.js"></script>
<link rel="stylesheet" type="text/css" href="../dist/css/all.min.css" />
<script type="text/javascript" src="../dist/app.js"></script>
<title></title>
<script>
/**************************************************************************
*可自定义弹窗指令
* <dialog load-data="对象"></dialog>
*传入一个参数对象。以下为参数解释
* $scope.data={//共三个参数
isShow: true,//必须 控制显示和隐藏
template: {//必须 内容模板
url: webroot+'/views/dialog/warn-dialog.html',//模板地址
events: function (events) {//对模板进行事件绑定,所有事件和值必须绑定在传入的对象上
//events:用于绑定事件和值
}
},
buttons: {//必须 buttons:{}空对象表示没有按钮,按钮可0-n个
key: 'name',//非必须,用于控制按钮显示哪个值
list: [//非必须,用于自定义按钮,list存在,key必须存在,不存在表示使用默认按钮
{//元素内容自定义,用key控制显示
name: buttonName,
value: 'true'
},
{
name: '取消',
value: 'false'
}
],
callback: function (item, index) {//使用按钮必须存在,按钮点击的回调事件,item:当前选中的元素,index:元素下标
$scope.data.isShow = false;//修改显示隐藏
if (item.value) {
//window.location.href='login.html';
}
}
}
}
* <dialogload-data="data"></dialog>
*
**************************************************************************/
app.controller('dialog', ['$scope','webroot', function ($scope,webroot) {
$scope.content="这是一个传参测试";
$scope.buttonName='确认'; $scope.data = {
isShow: true,
template: {
url: webroot + '/views/dialog/warn-dialog.html',
events: function (events) {
//因为在当前$scope中定义,所以能够直接访问当前$scope空间
events.content = $scope.content;
events.back=function(){//因为传递的是值,需要自己进行触发.
$scope.backData ='这是一个回传:'+events.content;
}; }
},
buttons: {
key: 'name',
list: [
{
name: $scope.buttonName,
value: 'true'
},
{
name: '取消',
value: 'false'
}
],
callback: function (item, index) {
$scope.data.isShow = false;
console.log('这是一个回调事件'+index);
console.log(item);
}
}
};
}]);
</script>
</head>
<body ng-controller="dialog">
<dialog load-data="data"></dialog>
<button ng-click="data.isShow=!data.isShow">点击按钮测试</button>
{{backData}}
<script type="text/javascript" src="../dist/directive/dialogBox.js"></script> </body>
</html>
实例github可以下载
样式文件,根据自己需求自行修改。
最新文章
- bzoj 1537: [POI2005]Aut- The Bus 线段树
- [工具分享]JetBrains ReSharper 9.0 正式版和注册码
- Android Multimedia框架总结(二)MediaPlayer框架及播放网络视频案例
- C# 之 未能映射路径
- iis认证方式
- CentOS搭建GIT服务器【二】-HTTP源码访问及smart http协议
- C++11多线程教学II
- Linux下sed,awk,grep,cut,find学习笔记
- HDU1175(dfs)
- 精解Mat类(一):基本数据类型-固定大小的 矩阵类(Matx) 向量类(Vector)
- 记录下扣jio的2018年
- ExcelDna项目完整工程演示及讲解
- SpringCloud学习笔记:负载均衡Ribbon(3)
- 「SHOI2016」黑暗前的幻想乡 解题报告
- blfs(systemv版本)学习笔记-前几章节的脚本配置
- asp.net 使用一般处理程序和ajax post实现登录以及记住密码
- golang 版本 gearman 试用
- django rest_framework入门四-类视图APIView
- JS实现IE下打印和打印预览
- log4net保存到数据库系列五、新增数据库字段
热门文章
- (转)maven镜像详解
- 利用机器学习实现微信小程序-加减大师自动答题
- 梯度提升树GBDT算法
- python 字符串切片知识巩固
- eclipse下new server时不可创建的解决方法
- M-JPEG、MPEG4、H.264都有何区别
- 11 Facts about Data Science that you must know
- Lucene之Java实战
- [转载]ECMA-262 6th Edition / Draft August 24, 2014 Draft ECMAScript Language Specification
- 使用jQuery仿淘宝商城多格焦点图滚动切换效果