草庐IT

angularJS-karma-jasmine

全部标签

javascript - AngularJS 获取当前工厂/服务名称

奥拉!我只是在玩Angular的工厂和服务,我只是注意到我无法获得工厂/服务的当前名称。至少我无法获得任何相关资源。例如,这样就更清楚了,我有一个工厂,就像这样;.factory('GuessImAFactory',[function(){varfactoryName=this.yadayada.name;//returnsomething;}])所以问题是有人知道如何获取它的名称吗? 最佳答案 我认为这是不可能的。在回调函数中,您无法获得工厂的实际实例,因为您是在那个地方定义它的。在其他作品中,它尚未创建。但是,对此的简单解决方法

javascript - AngularJS 中的重型 Controller 通信

我已经使用AngularJS实现了一个单页应用程序。该页面由中间的内容区域和围绕中心组装的部分组成,这些部分显示附加信息并提供操作中心的方法。每个部分(称为SideInfo)和内容区域都有一个单独的AngularJSController分配给它们。目前,我通过$rootScope.$broadcast和$scope.$on()进行通信,例如app.controller('PropertiesController',function($scope,$rootScope){$scope.$on('somethingHappened',function(event,data){//react

javascript - AngularJS Django Rest Framework - 试图复制 400 服务器错误时引发的 JS 对象

这是我尝试注册用户时调用的DjangoRestFramework代码/View:defpost(self,request):serializer=UserSerializer(data=request.DATA)ifserializer.is_valid():serializer.save()returnResponse(serializer.data,status=status.HTTP_201_CREATED)returnResponse(serializer.errors,status=status.HTTP_400_BAD_REQUEST)这是我注册用户/调用上面发布的Djan

javascript - 如何使用 Jasmine 在 AngularJS 中为数组函数创建单元测试

我有xf数组:varxf=[];我有一个函数是这个数组中的一个元素和一个使用它的函数:$scope.checkEmailValid=function(){varresult=false;Iif(xf.validateEmail($scope.email,'256')){result=true;}returnresult;};xf.validateUsername=function(sText){varisValid=false;do{//Checkforvalidstring.isValid=typeofsText==='string';if(!isValid){break;}//Ch

javascript - AngularJS 输入中@符号后的完整电子邮件域

我正在尝试创建一个功能,该功能将自动检测用户是否输入了“@”符号,并自动完成带有公司域的字段。页面上可能有多个字段,这就是为什么我不想硬编码他们的模型(例如$scope.user.email)。这是我到目前为止得到的:以及相应的Controller代码:$scope.autocompleteEmail=function($event){if(($event.keyCode===48||$event.keyCode===50)&&$event.srcElement.value.slice(-1)==="@"){//@symbolistyped-completingemail$event.

javascript - 如何在angularjs ajax调用中防止 "Provisional headers are shown"

我正在尝试在angularjs应用程序中进行ajax调用。但随机我收到这条警告说“显示了临时header”,每当调试器控制台出现这条警告时,我从服务器得到的响应非常慢(大约30到45秒)。并且它在10次试用期内发生了大约6次。这是我的angularjs代码:-varrequest=$http({method:"post",url:"/getdata.php",data:filterpara,headers:{'Content-Type':'application/x-www-form-urlencoded'}});request.success(function(data){conso

javascript - Angularjs:为什么 1 个绑定(bind)有 3 个观察者?

请看下面给出的截图如您在上面的屏幕截图中所见,单个绑定(bind)有#3个观察者。谁能解释一下为什么会这样?P.S:我正在使用AngularJSBatarang来检查性能。varapp=angular.module('app',[]);app.controller('appCtrl',function($scope,$timeout){$scope.name='vikasbansal';})Document{{name}} 最佳答案 我认为AngularBatarang的观察者计数器有误。我检查了几个不同的来源,除了AngularJ

javascript - Angularjs 到 angular4 到 angularjs

我有一个正在逐步移植到Angular4的应用程序。现在,我有一些组件在Angular4中,其他在AngularJS中。从angularjs->angular4->angularjs传递时我遇到了一个问题。从JS到4的第一次转换工作完美,但随后,我在主屏幕上停留在我的Angular4组件上。URL更改,但页面没有重定向到AngularJS组件,我的ng-outlet不再刷新。ROUTER在angularJS中。Angular4组件降级使用:import{Injectable,ModuleWithProviders,NgModule}from'@angular/core';import{A

javascript - Jasmine:为 Rails 定义单独的源文件集?

我网站的不同部分有不同的Javascript文件集,它们-一起扔在一起-相互干扰。为了用Jasmine测试一切,我似乎需要一些方法来为不同的套件定义单独的“Assets”集。这目前是否可能,如果可能,如何实现? 最佳答案 您可能需要按照建议考虑将您的javascript分成不同的命名空间。使将javascript分成多个文件变得容易的一种好方法是使用modulepattern它使用闭包和javascript的一些其他简洁属性来立即执行必要的代码,并将其包含在内。 关于javascript

javascript - 为什么 Jasmine spy 不认为它被调用,即使它返回了 andReturn 值?

我正在尝试调试jQuery.post上的spy程序那没有开火,所以作为完整性检查,我试过了spyOn(this.viewModel.requests,'submitRequest').andReturn('fooz');varret=this.viewModel.requests.submitRequest();expect(ret).toEqual('foo');expect(this.viewModel.requests.submitRequest).toHaveBeenCalled();这失败了Expected'fooz'toequal'foo'.但是当我在andReturn的参