1.不同scope之间的通信

(1)无父子关系的scope通信:

在需要操作的scope里面定义一个事件,名称为delete_host,参数为data

$rootScope.$on('delete_host', function(event,data) {
angular.forEach($scope.hosts, function (item, i) {
if (item.id == data) {
$scope.hosts[i].deleted = true;
}
if($scope.selected_host && $scope.selected_host.id == data){
$scope.selected_host = null;
} })
});

在需要触发该事件的scope里面触发

$rootScope.$emit('delete_host',$scope.selected_host.id);

注意为rootscope,emit

(2)父子关系下scope通信

<div  ng-controller="FatherCtrl">
<div ng-controller="ChildCtrl"> </div>
</div>

父scope里面写事件,传递参数为data

$scope.$on('change-breadcrumb', function(event,data) {
$scope.breadcrumb = Util.breadcrumb("h"+$routeParams.id,data);
});

子scope里面触发事件,注意为emit

$scope.$emit('change-breadcrumb',newValue)

子scope里面写事件,传递参数为data

$scope.$on('showdetail-storage', function(event,data) {
$scope.selected_storage = data ;
});

父scope里面触发事件,注意为broadcast

$scope.$broadcast('showdetail-storage',storage);

备注:父类向子类触发事件 用boradcast

子类向父类触发事件 用emit

2.定时任务

linux里面的cron可以实现定时任务。

crontab -e 编辑执行周期 以及执行方法
00 00 * * * python (路径)/license_day_count.py  每天00:00分执行该py文件
service crond stop 关闭服务 service crond start开启服务
/var/spool/mail/root 可查看部分信息

打开base64加密的文件,定时更新,并加密存入文件

daycountfile = open('/opt/filename"')
try:
daycountstr = daycountfile.read().strip()
daycount = int(base64.decodestring(daycountstr))
daycount = daycount - 1
file_writer = open('/opt/filename'', 'w')
file_writer.write(base64.encodestring(str(daycount)))
file_writer.close()
finally:
daycountfile.close()

3.代码冗余处理

从List<Entity>里面获取id的列表

storage_ids = [s.id for s in storages]
storage_names = [s.name for s in storages]

从LIst<JsonObj>里面获取某个属性的列表

alivenames = [s.get('storage') for s in result]

比较storage_names和alivenames ,如果后者缺少某个值,则进行某些操作

for storage in storages:
if storage.name not in alivenames:
result.append({"storage": storage.name, "name": "无"})

python , angular js 学习记录【2】的更多相关文章

  1. python , angular js 学习记录【1】

    1.日期格式化 Letter Date or Time Component Presentation Examples G Era designator Text AD y Year Year 199 ...

  2. python , angular js 学习记录【3】

    1.Alembic是SQLAlchemy作者编写的Python数据库迁移工具.用它实现模型类和数据库的同步更新.(安装以及操作步骤 使用Alembic迁移数据库) 使用Alembic添加数据库字段操作 ...

  3. 适合我胃口的angular.js学习资料

    断断续续弄了半年的ANGULAR.JS学习资料,网上下载了N多资料,测试了很多次. 现在只能算是入门,因时间问题,现在要转入其它领域. 如果以后要拾起来,下面这个PDF比较对我胃口. <Angu ...

  4. 我的three.js学习记录(二)

    通过上一篇文章我的three.js学习记录(一)基本上是入门了three.js,但是这不够3D,这次我希望能把之前做的demo弄出来,然后通过例子来分析操作步骤. 1. 示例 上图是之前做的一个dem ...

  5. 我的three.js学习记录(三)

    此次的亮点不是three.js的3d部分,而是通过调用摄像头然后通过摄像头的图像变化进行简单的判断后进行一些操作.上篇中我通过简单的示例分析来学习three.js,这次是通过上一篇的一些代码来与摄像头 ...

  6. vue.js学习记录

    vue.js学习记录 文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~ vue实例 生命周期 beforeCreate:不能访问thi ...

  7. "利用python进行数据分析"学习记录01

    "利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...

  8. D3.js学习记录【转】【新】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. angular.js学习的第一天

    第一天对angular.js进行学习,肯定是面对的入门的最简单的实例: 实现下面的这个效果,首先需要在html页面引入angular.js,在下面的div中,ng-app则表示在当前div是一个ang ...

随机推荐

  1. CWMP开源代码研究1——开篇之作

    原创作品,转载请注明出处,严禁非法转载.如有错误,请留言! email:40879506@qq.com 声明:本系列涉及的开源程序代码学习和研究,严禁用于商业目的. 如有任何问题,欢迎和我交流.(企鹅 ...

  2. 在CentOS 6.4 x86_32中使用Rhythmbox听MP3

    Linux中的Rhythmbox音乐播放器,是没有自带MP3音乐解码器的,所以必须得自行安装相应的音乐或视频解码器.好了,不废话…… # cd /tmp # wget http://dl.atrpms ...

  3. jquey on

    1.如果你的元素是用clone方法复制出来的,并且,用了on来绑定事件的话,必须在clone的后边添加true,负责你的事件不会生效. 2.必须在on $('.js-liubody').on('cli ...

  4. SDN与NFV技术在云数据中心的规模应用探讨

    Neo 2016-1-29 | 发表评论 编者按:以云数据中心为切入点,首先对SDN领域中的叠加网络.SDN控制器.VxLAN 3种重要技术特点进行了研究,接下来对NFV领域中的通用服务器性能.服务链 ...

  5. Css--深入学习之三角形气泡窗

    本文是作者从别的网站和文章学习了解的知识,简单做了个笔记,想要学习更多的可以参考这里:[css进阶]伪元素的妙用--单标签之美,奇思妙想 一.三角形的实现 首先,先画了三角形,后面二.三都是根据这个 ...

  6. jquery-leonaScroll-1.1-自定义滚动条插件

    leonaScroll-1.1最新版-竖向 leonaScroll-1.1.js欢迎使用leonaScroll-1.1.js,此滚动条仅支持竖向滚动,如您在使用过程中发现更多问题,欢迎指正! 更新:1 ...

  7. Matlab2015入门学习01

    1. 两个命令: clear: 清除内存中变量的值(在workspace中可以看到) clc: 清除Command Window中的输出 2. 脚本编辑器: matlab脚本扩展名为*.m 在Comm ...

  8. canvas链式弹性运动

    上一课我学习了相对于鼠标为目标点的弹性运动,这次就学习了如何以上一个球为目标点的弹性运动,这次的函数比较复杂,首先分成了如下几个函数,首先定义了一个球的model,之后添加了4个球,在加载中调用了动画 ...

  9. cocopod 中添加第三方框架,包含静态库文件,使用svn添加上传

    step one: 进入静态库文件的目录 cd 路径: step two:使用命令添加 svn add 静态库名字; 然后更新一下代码就OK

  10. asp.net mvc后台操作之读写xml控制首页动态页面开关显示

    一.背景 在asp.net mvc项目里,用户需要开拓几个活动版面,并以侧栏的方式呈现在首页右侧,几个活动时间不一致,为避免浏览者在活动未开放之时进入未开放的服务页面.因此不仅需要在活动代码中加入限制 ...