angularjs之browserTrigger
今天推荐一款来自angularjs源码的单元测试辅助库browserTrigger,这是来自于ngScenario的一段代码。主要用户触发浏览器型行为更新ng中scope view model的值。
这是angularjs源码中单元测试的使用browserTrigger的实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
it( 'should set the model to empty string when empty option is selected' , function () {
scope.robot = 'x' ;
compile( '<select ng-model="robot">' +
'<option value="">--select--</option>' +
'<option value="x">robot x</option>' +
'<option value="y">robot y</option>' +
'</select>' );
expect(element).toEqualSelect( '' , [ 'x' ], 'y' );
browserTrigger(element.find( 'option' ).eq(0));
expect(element).toEqualSelect([ '' ], 'x' , 'y' );
expect(scope.robot).toBe( '' );
});
|
在这段代码中给browserTrigger传入你希望选择的select option,则它会帮助你tigger change,选中当前option,更触发更新ng select的viewmodel。
在browserTrigger中还为我们做了很多其他输入框或者html控件的触发接口,同时也加入了浏览器的兼容性。使得我们的测试更加方便不用考虑浏览器兼容性或者不同的html控件trigger不同的事件去更新scope的值。
具体更多信息请参考ng的官方测试和browserTrigger源码。
本文转自破狼博客园博客,原文链接:http://www.cnblogs.com/whitewolf/p/3807063.html,如需转载请自行联系原作者
angularjs之browserTrigger相关推荐
- AngularJS和DataModel
通常,在AngularJS中使用JSON作为存储数据的模型.我们可能这样在controller中写model: app.controller('BookController',['$scope',fu ...
- AngularJS 杂项知识点
1.要用ngChange要同时使用ngModel,下拉选择获取当前选中值. 2.打包代替动态加载(js文件) requirejs真正的价值在于模块化,不是动态加载,angularjs本身有模块化机制, ...
- angularjs post 跨域
web api搞好了:用Ajax妥妥的:但是前端用的AngulagJS,也懒得再换为Ajax了: 但是问题来了:提示: 已拦截跨源请求:同源策略禁止读取位于 http://x.x.x.x:port/a ...
- AngularJS 指令
1. AngularJS指令的特点: AngularJS通过被称为指令的新属性来扩展HTML,指令的前缀为ng-. AngularJS通过内置的指令来为应用添加功能. AngularJS允许你自定义指 ...
- AngularJS中的按需加载ocLazyLoad
欢迎大家讨论与指导 : ) 初学者,有不足的地方希望各位指出 一.前言 ocLoayLoad是AngularJS的模块按需加载器.一般在小型项目里,首次加载页面就下载好所有的资源没有什么大问题.但是当 ...
- 【12】AngularJS 事件
AngularJS 事件 AngularJS 有自己的 HTML 事件指令. ng-click 指令 ng-click 指令定义了 AngularJS 点击事件. <div ng-app=&qu ...
- Angular的ChangeDetectorRef.detectChanges()实现angularJS的$apply()方法,强制刷新数据渲染
在Javascript代码里,都是按照一定顺序来执行的,当轮到一个代码片段执行的时候,浏览器就只会去执行当前的片段,不会做任何其他的事情.所以有时候一些做得不是很好的网页,当点击了某个东西之后会卡住, ...
- AngularJS学习笔记(3)——通过Ajax获取JSON数据
通过Ajax获取JSON数据 以我之前写的与用户交互的动态清单列表为例,使用JSON前todo.html代码如下: <!DOCTYPE html> <html ng-app=&quo ...
- angularjs 学习笔记 简单基础
angularjs是谷歌公司的一个项目,弥补了hml在构建方面的不足,通过指令(directive)来扩展html标签,可以使开发者使用html来声明动态内容. angularjs主要用来开发单页应用 ...
最新文章
- 【数据分析】可视化分类型变量,我一般使用这6种图形
- ubuntu mysql innodb_Ubuntu MYSQL环境搭建
- VC6,SDI视图改变背景颜色的方法
- cheungssh mysql密码_CheungSSH安装及基本使用
- WebService之初体验
- Kerberos的基本命令操作
- 如何对react进行性能优化
- [Node.js] rsaaes 加密解密
- Scala 函数式编程(一) 什么是函数式编程?
- python暴力解压rar压缩包
- unity 预编译指令
- 如何将GMS功能移植到Android系统中
- Mybatis自定义轻量级分页组件(易集成,易拓展)
- 19.调整数组奇偶数
- 共同父域下的单点登录
- Windows无法访问 请检查名称的拼写。否则,网络可能有问题...错误代码:0x80004005
- google play aab上传PAD的使用流程
- poj2287 田忌赛马
- 属性与意图识别_攻击意图动态识别模型
- (转)Android图形系统分析与移植--六、framebuffer研究
热门文章
- idea创建、运行、打包控制台程序
- BZOJ 1867 [Noi1999]钉子和小球 DP
- 64位内核开发第五讲,调试与反调试
- Vi编辑器中查找替换
- 研发部 架构师 定义解读
- Bind和Eval的区别详解(ZT)
- python中if brthon环境安装包_Ant、Gradle、Python三种打包方式的介绍
- oracle加并行变慢,并行设置不当导致数据处理速度变慢
- 计算机软件与程序没有任何关系,提示“该文件没有与之关联的程序来执行该操作”怎么解决?...
- PyTorch Upsample() 函数实现上采样