草庐IT

angularjs-jasmine-matchers

全部标签

javascript - 如何在 AngularJS 中绑定(bind)自定义事件?

我有一个自定义事件core-transitionend(实际上由Polymer触发),我可以使用document.addEventListener()设置事件处理程序.但在AngularJS中执行此操作的最佳做​​法是什么?或者,我可以在DOM中明确设置一个处理程序,即,但是如何在AngularJS中定义这个函数呢? 最佳答案 参见thisfiddle,我在这里创建了一个自定义指令,它将事件绑定(bind)到元素,angular.module('HelloApp',[]).directive('customDir',function

javascript - AngularJS $http : how to avoid redirect following

在AngularJS应用程序中,我对服务器url进行$http.post调用。此url的成功响应是30x重定向,我的问题是$http.post严格遵循此重定向并在成功回调中返回最终调用的结果。我想拦截此重定向并手动将用户重定向(更改浏览器url)到最终页面。可能吗? 最佳答案 根据docs,$http服务是一个核心Angular服务,它通过浏览器的XMLHttpRequest对象或通过JSONP促进与远程HTTP服务器的通信。了解这一点,并了解XMLHttpRequest的规范,拦截重定向可能是不可能的。W3CspecforXMLH

javascript - 如何在 Controller 外使用 $http?在 AngularJS 中

我想忘记“jQuery”因为我喜欢“AngularJS”。但是,我需要知道如何使用在我的应用程序的其他地方合并AngularJS的独立任务。例如,这次我想使用“$httpsAngularJS”函数导入一个JavaScript文件。示例(它曾经在jQuery中执行):$.get("url.js",function(data){eval(data)});//okconsole.info($.get);//codecodecode...ok示例(在AngularJS中记录)//InacontrollerApp.controller('Ctrllr',['$http',function($ht

javascript - Jasmine jQuery : Check if element is visible

你好,我有一个关于使用Jasmine(插件:jQuery)进行单元测试的问题我如何测试对象是否在文档的DOM中。问题是我使用了一个工具提示功能,只有在模拟事件时才会激活。当有模拟效果时,一个对象被附加到DOM上,我想检查它是否可见。it("test1:shouldinvoketheTooltip()function.",function(){spyEvent=spyOnEvent('.span_width',"mouseover");$('.span_width').simulate('mouseover');expect('mouseover').toHaveBeenTriggere

javascript - 如何使用 Angularjs 在 Protractor 中选择可见元素

我有一个SPA,其中有多个具有相同类的div。我希望Protractor选择可见的div并单击它。我一直收到Failed:elementnotvisible这让人相信它正在获取一些不在这个特定页面上的元素(也许?)。我还收到WARNING-morethanoneelementfoundforlocatorBy.cssSelector('.myDiv')-第一个结果将被使用这再次让我认为它不是点击可见的,而是点击不可见的一个。这是我的规范:describe('Useractions',function(){it("shouldbeabletoclickamydiv.",function(

javascript - Protractor/Jasmine2 - 在指定超时内未调用异步回调

我在selenium网格上运行的e2e测试遇到了问题。有时测试失败是因为Error:Timeout-Asynccallbackwasnotinvokedwithintimeoutspecifiedbyjasmine.DEFAULT_TIMEOUT_INTERVAL.试图以某种方式解决它,将defaultTimeoutInterval更改为protracotr.conf.js中的更高值,但结果等待时间更长,但错误是相同的。exports.config={chromeOnly:true,chromeDriver:'../node_modules/.bin/chromedriver',fra

javascript - 如何使用 angularJS 制作虚拟卷轴?

我试图制定一个指令,我可以做一个虚拟滚动,所以当用户滚动表格时,表格删除“旧”View并添加"new"View,有点像收集重复,但我已经一直失败,我想我不明白它背后的数学原理,有人可以帮助我吗?这是我的指令代码:BaseModule.directive('myScroll',function(){return{restrict:"A",scope:{rows:"=",headers:"="},link:function(scope,el){varscrollTop=0;varscrollLeft=0;angular.element(el).on('scroll',function(){

javascript - 如何在规范文件中注入(inject)服务 Angular Testing (Jasmine/karma)

我刚开始编写Angular单元测试用例。我在我的Controller文件(.ts)中注入(inject)一项服务。我将如何在规范文件中注入(inject)服务文件。代码如下:app.component.tsgetSortData(){this.sortService.sortNumberData(this.data,'name','asce');}sort.service.tssortNumberData(data,rendererKey,type){//data.sort((elem1,elem2)=>{////ifnumberisundefined,thenassigning`MA

javascript - 如何测试该方法是否已在 Jasmine 中调用?

我对监视Jasmine有点困惑。我有这样的代码,但我不确定如何测试它。varparams={param1:"",param2:"link",param3:"1",param4:"1"};varfunc=newmyFunction(params);func.doSomething();如何测试func.doSomething已被调用。这是我到目前为止写的测试describe("Library",function(){beforeEach(function(){});it("shouldincludecorrectparameters",function(){expect(params.p

javascript - 如何包含特定于每个 View 的javascript文件angularjs

我遇到的问题是,在我将它绑定(bind)到网格之前,loadjs文件并不总是被加载。我已阅读有关使用指令的其他帖子,但我不明白如何在我的案例中使用它们。代码应该加载一个特定的View,每个View依次有一个特定的javascript文件,需要在最终重新生成View之前加载该文件所以View1可能是一个具有datagrid.js文件依赖性的数据网格,而View2是一个具有listview.js依赖性的ListView谢谢。FunctionMyCtrl1($scope){$scope.$on('$viewContentLoaded',function(){//Loadfileifnotal