derective示例
1、指令的定义
.directive('haproxySetting', [
function () {
return {
restrict: 'AEC',
scope: {
haproxy: '=',
farmRoles: '='
},
templateUrl: 'app/views/common/haproxySetting.html',
controller: ['$scope', '$modal', function ($scope, $modal) { $scope.networks = ['auto', 'private', 'public']; $scope.addBackend = function () {
var haBackend={
'host': '',
'port': '80',
'backup': '0',
'down': '0',
'mode': 0,
'farm_role_id': ($scope.farmRoles && $scope.farmRoles.length > 0) ? $scope.farmRoles[0].farm_role_id : ''//代理应用服务才有
};
$scope.haproxy.backends.push(haBackend);
}; $scope.deleteBackend = function (backend) { for (var i = 0; i < $scope.haproxy.backends.length; i++) {
if ($scope.haproxy.backends[i] === backend) {
$scope.haproxy.backends.splice(i, 1);
break;
}
}
};
}]
};
}
])
2、应用指令的html
<div class="row">
<div class="col-sm-12">
<div class="panel">
<div class="panel-body">
<button class="btn btn-default m-b-10" data-ng-click="addHaproxy()"><i class="fa fa-plus m-r-10"></i>增加代理</button>
<table class="table table-hover table-striped">
<thead>
<tr>
<td>端口</td>
<td>描述</td>
<td></td>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="haproxy in haproxies" data-ng-click="selectHaproxy(haproxy)" ng-class="{active: haproxy.active}">
<td>{{haproxy.port}}</td>
<td>{{haproxy.hostname}}</td> <td><a class="text-danger" data-ng-click="deleteHaproxy(haproxy)"><i class="fa fa-trash"></i></a></td>
</tr>
</tbody>
</table>
</div>
</div> </div>
<div class="col-sm-12" data-ng-show="showPage">
<haproxy-setting data-haproxy="activeHaproxy"
data-farm-roles="newFarmRoles"></haproxy-setting>
</div>
</div>
3、使用指令的js
$scope.buildHaproxies = function () { $scope.activeHaproxy = {
'port': '',
'description': '',
'backends': [
{
'host': '',
'port': '80',
'backup': '0',
'down': '0',
'mode': 0,
'farm_role_id': ($scope.farmRoles && $scope.farmRoles.length > 0) ? $scope.farmRoles[0].farm_role_id : ''//代理应用服务才有
}
],
'healthcheck.interval': '30',
'healthcheck.fallthreshold': '5',
'healthcheck.risethreshold': '3',
'active':true
}; //$scope.proxies = [];
$scope.haproxies.push($scope.activeHaproxy);
$scope.curFarmRoleId = $scope.appServerSubmitData.farm_role_id;
};
在html中:<haproxy-setting data-haproxy="activeHaproxy" data-farm-roles="newFarmRoles"></haproxy-setting> 这行中,data-haproxy="activeHaproxy"指的意思是指令里面的的属性haproxy:
scope: {
haproxy: '=',
farmRoles: '='
},
和第3中使用的$scope.activeHaproxy是一一对应的,双向绑定的。就是说js里面的$scope.activeHaproxy值改变了,指令里面的haproxy也会改变,反之也一样。
<div class="row">
<div class="col-sm-12">
<div class="panel">
<div class="panel-body">
<button class="btn btn-default m-b-10" data-ng-click="addHaproxy()"><i class="fa fa-plus m-r-10"></i>增加代理</button>
<table class="table table-hover table-striped">
<thead>
<tr>
<td>端口</td>
<td>描述</td>
<td></td>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="haproxy in haproxies" data-ng-click="selectHaproxy(haproxy)" ng-class="{active: haproxy.active}">
<td>{{haproxy.port}}</td>
<td>{{haproxy.hostname}}</td> <td><a class="text-danger" data-ng-click="deleteHaproxy(haproxy)"><i class="fa fa-trash"></i></a></td>
</tr>
</tbody>
</table>
</div>
</div> </div>
<div class="col-sm-12" data-ng-show="showPage">
<haproxy-setting data-haproxy="activeHaproxy"
data-farm-roles="newFarmRoles"></haproxy-setting>
</div>
</div>
derective示例的更多相关文章
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- .NET跨平台之旅:将示例站点升级至 ASP.NET Core 1.1
微软今天在 Connect(); // 2016 上发布了 .NET Core 1.1 ,ASP.NET Core 1.1 以及 Entity Framework Core 1.1.紧跟这次发布,我们 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- XAMARIN ANDROID 二维码扫描示例
现在二维码的应用越来越普及,二维码扫描也成为手机应用程序的必备功能了.本文将基于 Xamarin.Android 平台使用 ZXing.Net.Mobile 做一个简单的 Android 条码扫描示 ...
- iOS之ProtocolBuffer搭建和示例demo
这次搭建iOS的ProtocolBuffer编译器和把*.proto源文件编译成*.pbobjc.h 和 *.pbobjc.m文件时,碰到不少问题! 搭建pb编译器到时没有什么问题,只是在把*.pro ...
- Android种使用Notification实现通知管理以及自定义通知栏(Notification示例四)
示例一:实现通知栏管理 当针对相同类型的事件多次发出通知,作为开发者,应该避免使用全新的通知,这时就应该考虑更新之前通知栏的一些值来达到提醒用户的目的.例如我们手机的短信系统,当不断有新消息传来时,我 ...
- oracle常用函数及示例
学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...
随机推荐
- mouseenter 事件
定义和用法 当鼠标指针穿过元素时,会发生 mouseenter 事件. 该事件大多数时候会与 mouseleave 事件一起使用. mouseenter() 方法触发 mouseenter 事件,或规 ...
- struts2,servlet和springmvc的单例多例问题
struts2,servlet和springmvc的单例多例问题 原创 2017年06月12日 09:59:21 标签: struts2 / servlet / springmvc / 单例 / 多例 ...
- XSS学习小结
一.什么是XSS? XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了. 这里我们主要注 ...
- jsp常见的指令总结
一.三个编译指令 1.page指令: 首先,我们要明确一点就是page指令是一个全局指令,针对当前页面,其次我们再来深挖他的功能,它到底有哪些功能那,在我们程序中起到什么作用??? a.语法结构:&l ...
- 一文看懂Stacking!(含Python代码)
一文看懂Stacking!(含Python代码) https://mp.weixin.qq.com/s/faQNTGgBZdZyyZscdhjwUQ
- linux 杂
set -e表示一旦脚本中有命令的返回值为非0,则脚本立即退出,后续命令不再执行; set -o pipefail表示在管道连接的命令序列中,只要有任何一个命令返回非0值,则整个管道返回非0值,即使最 ...
- window 下复制 cmd内容
https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/windows_dos_copy.msp ...
- 大型运输行业实战_day07_1_订单查看实现
1.业务分析 每个在窗口售票的售票员都应该可以随时查看自己的售票信息 简单的界面入口如图所示: 对应的html代码: <button onclick="orderDetail()&qu ...
- Promise/Deferred
[fydisk] 1.$.get('/api').success(onSuccess).error(onError).comlete(onComplete); 2.对同一事件加入多个Handler. ...
- MySQL+Navicat for MySQL安装
一.安装MySQL 1.下载MySQL http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10-winx64.zip 2.安装 2.1解压安装包 ...