草庐IT

testing-backbone-apps-with-jasmin

全部标签

javascript - 多种分类的 Backbone.js 集合

我有一个包含名称和日期的待办事项列表。我希望能够使用标题或日期对列表进行排序。我该怎么做?比较器只允许一种类型的排序。谢谢。 最佳答案 可以在比较器中实现更多逻辑,以便您可以抽象出一些排序逻辑:varCollection=Backbone.Collection.extend({model:myModel,order:'name'comparator:function(model){if(this.order==='name'){returnmodel.get('name');}else{returnmodel.get('date')

javascript - 使用 Marionette.CompositeView 过滤 backbone.collection 的正确方法

我有一个Marionette.CompositeView需要渲染一个集合。我想在fetch和add操作上过滤这个集合。我尝试使用以下代码(1),但出现以下错误(2)。任何想法,谢谢。(1)varmyCompositeView=Marionette.CompositeView.extend({initialize:function(){this.collection=app.taskCollection.where({type:'todo'});}});(2)//UncaughtTypeError:Objecthasnomethod'on' 最佳答案

javascript - backbone.js 清空一个集合

我需要清空一个集合,按顺序移除每一项。this.nodes.each(function(node){this.nodes.remove(node);},this);不起作用,因为随着每个节点被删除,它会更改集合的长度。制作一个临时数组,然后迭代该数组。有没有更好的办法? 最佳答案 尝试this.nodes.reset()除非你需要remove事件。否则:varnodes=this.nodes;while(nodes.length>0)nodes.remove(nodes.at(0));

javascript - 巫术/ capybara : Cannot log in with :js => true

我使用capybara已经有一段时间了,但我对巫术还是个新手。我有一个非常奇怪的问题,如果我在没有Capybara的:js=>true功能的情况下运行规范,我可以正常登录,但如果我尝试在规范上指定:js=>true,则无法找到用户名/密码。这是身份验证宏:moduleAuthenticationMacrosdefsign_inuser=FactoryGirl.create(:user)user.activate!visitnew_sessions_pathfill_in'EmailAddress',:with=>user.emailfill_in'Password',:with=>'f

javascript - 为什么 instanceof 关键字不适用于 Backbone js 模型?

我正在构建一个涉及继承和使用instanceofjavascript关键字的BackboneJS应用程序。我有以下代码:app.Sport=Backbone.Model.extend({defaults:{id:0,title:'Running'}});在代码的后面,我通过键入来实例化一个新的Sport:varnewSport=newapp.Sport();我可以毫无问题地操作这个新创建的实例。但是,因为有一个但是,instanceof关键字在询问我的实例类型时总是返回false:console.log('isnewSportaSportinstance?'+newSportinsta

javascript - 简单的 Angular Testing 失败($injector :unpr Unknown Provider) when I have no dependencies

我得到thiserror。这与我的注入(inject)器无法解决所需的依赖关系有关,但即使我对Angular了解有限,我也很确定这段代码不应该依赖于任何模块。此代码在浏览器中运行良好,但它似乎不想在我的测试中运行。我一直在关注文档中的examples我的Angular版本是1.2.13(编辑:现在使用1.12.15)。这是我的代码:varapp=angular.module('app',[]).controller('GreetingCtrl',function($scope){$scope.title="HelloWorld!";$scope.message="Test,test.O

javascript - 动画高度自动存储高度 - slideUp with velocity.js

我正在尝试制作一个类似于slideToggle()方法的滑动切换淡入淡出动画,但使用了velocity.js-希望它会更流畅。因为我无法滚动到自动-我将高度放在变量中并使用它来设置高度动画。我遇到的问题是高度值只存储一次,如果页面稍微调整大小,那么这个数字就不再正确了。-另外-因为该区域在页面加载时隐藏,(在它获得初始高度之后)我无法再次检查高度(如果发生窗口大小调整)最后我想把它放到一个函数中,所以保持与它相关的关键。此外,如果您还没有使用过velocity.js,它基本上就像.animate()-所以它并不是问题的一部分。HTMLToggle{{content}}CloseCSS.

javascript - 咕噜声 : creating a zip file with the current date (AAAA-MM-DD)

我一直在寻找一种使用“grunt-contrib-compress”插件来命名带有当前日期的zip文件的方法。有办法实现吗?我正确安装了它,并设置如下:compress:{build:{options:{archive:'./zipped/foo.zip',mode:'zip'},files:[{src:'build/**'}]}}我想要一个以当前日期命名的压缩文件,以代替自定义名称“foo”:2014-09-25.zip 最佳答案 您可以尝试使用grunt.template.today()...compress:{build:{o

javascript - React.js app.js 文件大小

我创建了非常简单的React应用程序,其中包含7个页面和13个组件。我正在使用gulp来编译它,使用browserify来获取依赖项,所有文件都被最小化了。我构建的app.js文件有1.1MB。我认为它很大。我可以做些什么来减小它的大小?是否有任何好的做法来实现最小尺寸?编辑:我的没有依赖项的源代码是91KB。 最佳答案 使用webpack-uglify和禁用sourcemaps可以大大提高输出到合理的大小(helloworld应用程序大约140kbs)几个步骤:将webpack配置中的devtool设置为cheap-source-

Unity Error 打AssetBundle时出现 An asset is marked with HideFlags.DontSave but is included in the build

出现这种情况的原因是因为项目中有些资源被脚本设置了hideFlags属性为DontSave解决方案:全局搜索脚本hideFlags看看有没有代码设置资源的地方。类似图中 如果出现hideFlags=HideFlags.DontSave;这种用法就查找这个脚本设置哪个资源。此时我们需要将这句代码去掉,然后找到资源写个编辑器脚本将该资源的hideFlags属性改为None: 一般容易出问题的是材质球或者图片等,因为上面代码只要被运行过一次,会直接导致资源的属性被保存到项目工程内的资源mate文件中。这样打资源包的时候就会出现问题。总结:最快速的方法是写个编辑器脚本查找所有资源(资源太多,可以只查找