AngularJS辅助库browserTrigger用法示例


Posted in Javascript onNovember 03, 2016

本文实例讲述了AngularJS辅助库browserTrigger用法。分享给大家供大家参考,具体如下:

今天推荐一款来自angularjs源码的单元测试辅助库browserTrigger,这是来自于ngScenario的一段代码。主要用户触发浏览器型行为更新ng中scope view model的值。

这是angularjs源码中单元测试的使用browserTrigger的实例:

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源码。

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
firefox中JS读取XML文件
Dec 21 Javascript
javascript 冒号 使用说明
Jun 06 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
用表格输出1-1000之间的数字实现代码(附特效)
Apr 21 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
May 07 Javascript
jQuery制作效果超棒的手风琴折叠菜单
Apr 03 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
js实现将json数组显示前台table中
Jan 10 Javascript
详解JS中遍历语法的比较
Apr 07 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
Jul 28 Javascript
原生JavaScript实现Ajax异步请求
Nov 19 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
Nov 03 #Javascript
Vue.js实现无限加载与分页功能开发
Nov 03 #Javascript
vue自定义指令实现v-tap插件
Nov 03 #Javascript
angular ngClick阻止冒泡使用默认行为的方法
Nov 03 #Javascript
vue.js指令v-for使用及索引获取
Nov 03 #Javascript
vue.js初学入门教程(1)
Nov 03 #Javascript
把json格式的字符串转换成javascript对象或数组的方法总结
Nov 03 #Javascript
You might like
php 攻击方法之谈php+mysql注射语句构造
2009/10/30 PHP
用PHP读取和编写XML DOM的实现代码
2011/02/03 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
js实现拖拽 闭包函数详细介绍
2012/11/25 Javascript
A标签触发onclick事件而不跳转的多种解决方法
2013/06/27 Javascript
jQuery动画效果-fadeIn fadeOut淡入浅出示例代码
2013/08/28 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
vue实现在线翻译功能
2019/09/27 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
python实现基于两张图片生成圆角图标效果的方法
2015/03/26 Python
Python新手入门最容易犯的错误总结
2017/04/24 Python
详谈Python基础之内置函数和递归
2017/06/21 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
使用python Fabric动态修改远程机器hosts的方法
2018/10/26 Python
python制作朋友圈九宫格图片
2019/11/03 Python
python各种excel写入方式的速度对比
2020/11/10 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
Python爬取你好李焕英豆瓣短评生成词云的示例代码
2021/02/24 Python
你应该知道的30个css选择器
2014/03/19 HTML / CSS
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
巴黎欧莱雅法国官网:L’Oreal Paris
2019/04/30 全球购物
Linux文件系统类型
2012/09/16 面试题
外贸业务员求职自荐信分享
2013/09/21 职场文书
创先争优制度
2014/01/21 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android