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 相关文章推荐
javascript Select标记中options操作方法集合
Oct 22 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
Jquery 动态生成表格示例代码
Dec 24 Javascript
JavaScript判断浏览器类型的方法
Feb 10 Javascript
jQuery制作仿Mac Lion OS滚动条效果
Feb 10 Javascript
jQuery实现购物车数字加减效果
Mar 14 Javascript
js过滤HTML标签完整实例
Nov 26 Javascript
js实现弹窗居中的简单实例
Oct 09 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
微信小程序实现多行文字滚动
Nov 18 Javascript
JS实现鼠标移动拖尾
Dec 27 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 设计模式之 工厂模式
2008/12/19 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
JS对URL字符串进行编码/解码分析
2008/10/25 Javascript
JavaScript 申明函数的三种方法 每个函数就是一个对象(一)
2009/12/04 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
jquery blockUI 遮罩不能消失与不能提交的解决方法
2011/09/17 Javascript
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
基于javascript如何传递特殊字符
2015/11/30 Javascript
JS实现的简单轮播图运动效果示例
2016/12/22 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
JS中的函数与对象的创建方式
2019/05/12 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python Trie树实现字典排序
2014/03/28 Python
Python Tkinter GUI编程入门介绍
2015/03/10 Python
Python grpc超时机制代码示例
2020/09/14 Python
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
社区学习十八大感想
2014/01/22 职场文书
完美的中文自荐信
2014/05/24 职场文书
2014年医院工作总结
2014/11/20 职场文书
关于学习的决心书
2015/02/05 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
基于JavaScript实现年月日三级联动
2021/06/22 Javascript
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
Python面试不修改数组找出重复的数字
2022/05/20 Python