草庐IT

angularjs-ng-style

全部标签

javascript - AngularJS TypeScript 单元测试

我正在努力为angularjs(v1.4.9)应用程序创建适当的单元测试,它包含javascript文件(带有jasmine测试)和typescript文件(根本没有测试,现在我正在尝试使用Mocha,但它可以是任何框架)。因此它混合了一个没有模块的旧angularjs,我决定将所有.ts编译到一个bundle.js文件,以避免文件排序问题(当我有单个.js文件时发生每个.ts并将其与gulp任务一起注入(inject)index.html)。我的tsconfig.js:{"compileOnSave":true,"compilerOptions":{"noImplicitAny":f

javascript - 如何使用 JsTestDriver 测试 AngularJS Controller ?

我有以下代码:functionTestStats($xhr){$xhr('GET','/test-dashboard/get-projects.json',angular.bind(this,function(code,response){this.projects=response.projects;this.projects.splice(0,0,undefined);}));this.$watch('project',angular.bind(this,function(){this.testClassStats=undefined;if(this.project){$xhr('

javascript - Angularjs 分页指令

我正在尝试使用asimplePagination中使用的概念编写一个指令来生成分页链接prev和next链接是唯一生成的链接,单击它们会产生错误:UncaughtSyntaxError:Unexpectedtoken:这是fiddlehttp://jsfiddle.net/kelvo/zZURe/编辑1获得了要显示的其余链接,但双向绑定(bind)“=”似乎不起作用。这是新的fiddlehttp://jsfiddle.net/kelvo/zZURe/7/ 最佳答案 您正在更新Angular之外的一段代码,需要让Angular知道重新

javascript - ng-repeat 中的 AngularJS "headers"

最近出现的问题不止一个,我想知道解决这个问题的最佳方法。简单地说:我有数据显示在ng-repeat中,按特定项目排序。例如,假设它按名称排序。我的目标是在按字母顺序排列的列表中的字母分隔符处设置标题:----A----AbeLincolnAdamSmith----B----BarackObamaBarryZuckercorn----C----...等等。我尝试过的事情包括:让Controller完全重新构建传入的模型数据,手动将其放入一组字母组中。例如,我的服务有一个“posts”数组,而我的Controller在服务更新时手动将这些“posts”洗牌到一个“letterGroups”

javascript - 从 AngularJS 工厂返回函数

我想了解这个AngularJS工厂方法的返回部分的目的是什么?return{getMessages:getMessages};如果我们向这个工厂添加一个名为getAnotherMessage()的新方法会发生什么,我们是否需要更新这个返回段?myModule.factory('HelloWorld',function($q,$timeout){vargetMessages=function(){vardeferred=$q.defer();$timeout(function(){deferred.resolve(['Hello','world!']);},2000);returndef

javascript - AngularJS Controller 返回值

AngularJS的“Controller作为”技术由JohnPapa描述。作为:myApp.controller("MainCtrl",[function(){varvm=this;//convention-ViewModelvm.person={name:"Bob"};returnvm;}]);returnvm;这一行的目的是什么?没有它,代码也能正常工作。 最佳答案 当Angular创建您的Controller时,它将在您传入的函数上使用new关键字。因此,它将使用您传入的构造函数构造一个新对象。从构造函数返回对象函数将导致A

javascript - Angularjs:捕获浏览器中的刷新事件

在angularjs中可以处理用户点击浏览器上的刷新按钮吗?框架有没有暴露给开发者的方法?谢谢 最佳答案 要处理重新加载本身(包括按F5)并在重新加载甚至取消之前采取行动,请使用“beforeunload”事件。varwindowElement=angular.element($window);windowElement.on('beforeunload',function(event){//DoSomething//Afterthiswillpreventreloadornavigatingaway.event.preventDe

javascript - ng-class 没有按预期覆盖类

我有一个图标列表,这些图标根据$scope中的bool值“打开”或“关闭”。我创建了两个CSS类——clrOn和clrOff——它们只是颜色不同。我正在使用class=""分配所有图标clrOff,然后如果bool值为真,则尝试使用ng-class=""覆盖它。根据我的研究,这就是我所拥有的应该起作用的东西。plunkerCSS文件:.clrOn{color:#333333;}.clrOff{color:#DDDDDD;}JS文件:varapp=angular.module('plunker',[]);app.controller('MainCtrl',function($scope)

javascript - 取消/中止 angularJs 中的所有未决请求

在路由更改时,我需要中止来自先前路由的所有待处理请求,这样我就不会遇到来自先前路由的响应弄乱我当前路由上的数据的问题(当来自先前路由的响应需要很长时间时,有时会发生这种情况完成)。我考虑过使用httpinterceptor为此:$httpProvider.interceptors.push(function($q){return{'request':function(config){},'response':function(response){}};});在请求函数中,我可以按照建议修改config.timeouthere并将所有延迟的对象存储在全局缓存中,以便我可以取消所有这些对象

javascript - 在 Angular 中检测鼠标+键盘事件以进行 ng-repeat

我有一个应用程序,我在其中使用ng-repeat生成一组跨度,每个跨度都有一个唯一的ID(比方说span-{{$index}})。现在我想执行以下操作:如果我单击一个跨度,我希望复制该跨度的ID。我设法通过ng-click做到了这一点。我想进一步扩展此功能以检测多次点击,以获取所选ID的数组,但仅如果在点击期间按住CTRL键.例如。如果我在选择id为1,3,5,7的跨度时单击了ctrl按钮,我的数组应该有[1,3,5,7],但如果我没有按下CTRL键,那么我应该只有[7],因为它是最后选择的跨度。还有,我可以绑定(bind)相关事件吗?例如。如果我选择id为1的跨度,如果我单击CTRL