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 相关文章推荐
IE和Mozilla的兼容性汇总event
Aug 12 Javascript
jQuery EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
JS控件的生命周期介绍
Oct 22 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
Node.js环境下编写爬虫爬取维基百科内容的实例分享
Jun 12 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
一个可复用的vue分页组件
May 15 Javascript
node.js 中间件express-session使用详解
May 20 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
Node.js API详解之 dns模块用法实例分析
May 15 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 防止表单重复提交两种实现方法
2016/11/03 PHP
php实现映射操作实例详解
2019/10/02 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
js 处理URL实用技巧
2010/11/23 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
JS eval代码快速解密实例解析
2020/04/23 Javascript
Python中的__slots__示例详解
2017/07/06 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Django中Forms的使用代码解析
2018/02/10 Python
Python工厂函数用法实例分析
2018/05/14 Python
python中类的属性和方法介绍
2018/11/27 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
wxPython窗体拆分布局基础组件
2019/11/19 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
如何将Pycharm中调整字体大小的方式设置为&quot;ctrl+鼠标滚轮上下滑&quot;
2020/11/17 Python
html5使用Canvas绘图的使用方法
2017/11/21 HTML / CSS
仿酷狗html5手机音乐播放器主要部分代码
2013/05/15 HTML / CSS
松本清官方海外旗舰店:日本最大的药妆连锁店
2017/11/21 全球购物
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
Vita Fede官网:在意大利手工制作,在纽约市设计
2019/10/25 全球购物
校本教研工作方案
2014/01/14 职场文书
培训专员岗位职责
2014/02/26 职场文书
学校就业推荐信范文
2014/05/19 职场文书
银行求职自荐信范文
2015/03/04 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
如何理解及使用Python闭包
2021/06/01 Python