指令不明的,推荐 AngularJS指令参数详解

github地址

以下为示例代码

<!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可以下载

样式文件,根据自己需求自行修改。

angular可自定义的对话框,弹窗指令的更多相关文章

  1. Taro自定义Modal对话框组件|taro仿微信、android弹窗

    基于Taro多端实践TaroPop:自定义模态框|dialog对话框|msg消息框|Toast提示 taro自定义弹出框支持编译到多端H5/小程序/ReactNative,还可以自定义弹窗类型/弹窗样 ...

  2. Android中制作自定义dialog对话框的实例

    http://www.jb51.net/article/83319.htm   这篇文章主要介绍了Android中制作自定义dialog对话框的实例分享,安卓自带的Dialog显然不够用,因而我们要继 ...

  3. 修改VCL源码实现自定义输入对话框

    来自:https://yq.aliyun.com/wenji/88428 通过修改VCL源码实现自定义输入对话框 在BCB中有两个函数可以实现输入对话框:InputBox和InputQuery,其实I ...

  4. 024 Android 自定义样式对话框(AlertDialog)

    1.AlertDialog介绍 AlertDialog并不需要到布局文件中创建,而是在代码中通过构造器(AlertDialog.Builder)来构造标题.图标和按钮等内容的. 常规使用步骤(具体参见 ...

  5. 《手把手教你》系列技巧篇(二十八)-java+ selenium自动化测试-处理模态对话框弹窗(详解教程)

    1.简介 在前边的文章中窗口句柄切换宏哥介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题.很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭, ...

  6. Vue自定义组件实现v-model指令

    Tips: 本文所描述的Vue均默认是Vue2版本 在我们初次接触Vue的时候,一定会了解到一个语法糖,那就是v-model指令,它带给我们的第一印象就是它可以实现双向绑定 那么,什么是双向绑定?通俗 ...

  7. Angular的自定义指令以及实例

    本文章已收录于:  AngularJS知识库  分类: javascript(55)  http://www.cnblogs.com/xiaoxie53/p/5058198.html   前面的文章介 ...

  8. angular directive自定义指令

    先来看一下自定义指令的写法 app.directive('', ['', function(){ // Runs during compile return { // name: '', // pri ...

  9. angular指令,异步调用数据,监控数据的变化(自定义一个表头的指令)

    angular框架中提供了很多有效的指令,指令的目的就是为了提高代码的复用率,提高工作效率. 下面我们自己来定义一个指令: 一点建议:写指令名字的时候,尽量不要用用大写,下划线等,否则会有很大的坑等着 ...

随机推荐

  1. E. Turn Off The TV Educational Codeforces Round 29

    http://codeforces.com/contest/863/problem/E 注意细节 #include <cstdio> #include <cstdlib> #i ...

  2. 读论文Machine Learning for Improved Diagnosis and Prognosis in Healthcare

    Deep Learning的基本思想 假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>…..=>Sn => ...

  3. python基础1--列表

    列表 列表是最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 1.定义列表 fruits = ['apple','banana','orange'] 2.通过下标访问列表中的元素, ...

  4. linux基础命令之sed

    什么是sed? sed是一个流编辑器,英文全名为stream editor,流的意思就是能处理文件或者通过管    道传输来的数据.主要针对行,也就是行编辑.默认是不编辑文件的,处理时,把当前    ...

  5. K8S钩子操作

    简介 我们知道,K8S可以在应用容器启动之前先执行一些预定义的操作,比如事先生成一些数据,以便于应用容器在启动的时候使用.这种方式可以通过init container技术实现,具体可以参考<Ku ...

  6. linux(ubuntu) 安装 node.js

    其实几个月之前我已经介绍过使用window版的nvm——wnvm了 1.先安装nvm 日常开发安装node通常会用nvm来安装,因为nvm可以帮我们管理好node的版本 我们通过git来把nvm下载到 ...

  7. Oracle 中常用数据字典大总结

    原文出处:小宝马的爸爸 - 梦想的家园 前面呢,也断断续续的介绍了一些诸如 Sql*Plus 等等关于 Oracle 的基本的内容, 对于 Oracle 这样的大型数据库呢,自身的运行和维护也是个不得 ...

  8. UIScrollView增加回弹效果

    项目中经常要增加上下滑动回弹的效果: self.scrollView.alwaysBounceVertical = YES;

  9. 转:NSString / NSData / char* 类型之间的转换

    1. NSString转化为UNICODE String: (NSString*)fname = @“Test”; char fnameStr[10]; memcpy(fnameStr, [fname ...

  10. 6.redis的分布式锁

    https://www.cnblogs.com/linjiqin/p/8003838.html