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 相关文章推荐
jquery滚动条插件jScrollPane的使用介绍
Nov 08 Javascript
js判断为空Null与字符串为空简写方法
Feb 24 Javascript
JavaScript获得表单target属性的方法
Apr 02 Javascript
javascript基于DOM实现省市级联下拉框的方法
May 14 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
Aug 04 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
解决vue2中使用axios http请求出现的问题
Mar 05 Javascript
vue中使用v-model完成组件间的通信
Aug 22 Javascript
js实现烟花特效
Mar 02 Javascript
原生js实现瀑布流效果
Mar 09 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
Apr 23 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
Jul 26 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 session_set_save_handler 函数的用法(mysql)
2013/06/29 PHP
使用PHP导出Word文档的原理和实例
2013/10/21 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
php微信开发之百度天气预报
2016/11/18 PHP
php 中奖概率算法实现代码
2017/01/25 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
javascript 实现父窗口引用弹出窗口的值的脚本
2007/08/07 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
jquery应用实例分享_实现手风琴特效
2018/02/01 jQuery
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
使用layui 的layedit定义自己的toolbar方法
2019/09/18 Javascript
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
深入理解Python 多线程
2020/06/16 Python
python交互模式基础知识点学习
2020/06/18 Python
Python和Bash结合在一起的方法
2020/11/13 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
大学生个人简历中的自我评价
2013/12/27 职场文书
服装店营销方案
2014/03/10 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
python库sklearn常用操作
2021/08/23 Python
Redis基本数据类型String常用操作命令
2022/06/01 Redis