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 相关文章推荐
tangram框架响应式加载图片方法
Nov 21 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
详解.vue文件中监听input输入事件(oninput)
Sep 19 Javascript
微信小程序textarea层级过高的解决方法
Mar 04 Javascript
微信小程序获取用户信息并保存登录状态详解
May 10 Javascript
jQuery事件绑定和解绑、事件冒泡与阻止事件冒泡及弹出应用示例
May 13 jQuery
JS实现点击生成UUID的方法完整实例【基于jQuery】
Jun 12 jQuery
基于Express框架使用POST传递Form数据
Aug 10 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
jQuery实现消息弹出框效果
Dec 10 jQuery
微信小程序文章详情功能完整实例
Jun 03 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下获取客户端ip地址的函数
2010/03/15 PHP
PHP实现的sqlite数据库连接类
2014/12/12 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
深入浅析php json 格式控制
2015/12/24 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
PHP实现的敏感词过滤方法示例
2019/03/06 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
常用的Javascript设计模式小结
2015/12/09 Javascript
NodeJs——入门必看攻略
2016/06/27 NodeJs
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
基于require.js的使用(实例讲解)
2017/09/07 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
python实现最长公共子序列
2018/05/22 Python
基于python log取对数详解
2018/06/08 Python
详解python 爬取12306验证码
2019/05/10 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
基于python的docx模块处理word和WPS的docx格式文件方式
2020/02/13 Python
python super()函数的基本使用
2020/09/10 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
3个CCIE对一个工程师的面试题
2012/05/06 面试题
企业管理毕业生求职信
2014/03/11 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
学校2014重阳节活动策划方案
2014/09/16 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
2016年10月份红领巾广播稿
2015/12/21 职场文书