草庐IT

testing-backbone-apps-with-jasmin

全部标签

javascript - 阿里巴巴面试: print a sentence with min spaces

我看到了这个面试题,试了一下。我被困。面试问题是:Givenastringvars="ilikealibaba";andadictionaryvard=["i","like","ali","liba","baba","alibaba"];trytogivetheswithminspaceTheoutputmaybeilikealibaba(2spaces)ilikealibaba(3spaces)butpickno.1我有一些代码,但在打印过程中卡住了。如果你有更好的方法来做这道题,请告诉我。functionisStartSub(part,s){varcondi=s.startsWit

javascript - 一般情况下 : JS Only Vs Page-Based Web Apps

与开发网站相比,在开发网络应用程序时,有什么理由使用多个HTML页面,而不是使用一个html页面并通过Javascript完成所有事情?我希望这取决于应用程序——也许——但希望对这个主题有任何想法。提前致谢。编辑:根据这里的回复和我自己的一些研究,如果你想做一个单页的、完全由JS驱动的网站,一些有用的工具似乎包括:JQuery插件:JQuery历史:http://balupton.com/projects/jquery-historyJQuery地址:http://plugins.jquery.com/project/jquery-addressJQuery分页:http://plug

javascript - backbone.js - View 中的 Controller 属性

我有一个名为authenticated的Controller属性,默认为false。但是,在我的登录View中,我需要能够将其设置为true。此外,在我的注销View中,我需要能够将其设置为false。如何在View中公开此属性?varController=Backbone.Controller.extend({...authenticated:false,login:function(){if(this.authenticated){location.hash='!/dashboard';}else{newLoginView();}},logout:function(){$.post

javascript - 如何使用 Google App Engine 作为后端在 Chrome 扩展中实现用户身份验证?

这是对mypreviousquestion的跟进.我正在开发Chrome扩展http://ting-1.appspot.com/将书签页面保存到GoogleAppEngine后端。查看Chrome网上商店,我看到扩展程序有一个“添加到chrome”按钮。由于我的扩展程序需要与后端通信(因此用户必须有一个gmail帐户才能使用此扩展程序)我如何在扩展程序中指示使用用户名(将扩展程序添加到Chrome的人的gmail地址)来编写使用他的用户ID将googleappengine添加为书签?我的理解有差距,我似乎没有在文档中找到与这个问题相关的任何内容。我的background.html在下面

javascript - Backbone.js - 将 JSON 数组获取到 View 模板中

window.User=Backbone.Model.extend({defaults:{name:'Jane',friends:[]},urlRoot:"users",initialize:function(){this.fetch();}});varHomeView=Backbone.View.extend({el:'#container',template:_.template($("#home-template").html()),render:function(){$(this.el).html(this.template(this.model.toJSON()));retu

javascript - Backbone.js fetch() 大集合导致脚本卡住

我有一个工作TableView,显示用户的所有工作。Jobs集合fetch()可能会返回包含数千条记录。我运行了一个测试并在数据库中插入了1000条作业记录,并对集合执行了fetch()。然而,1000条记录对于浏览器来说似乎太多了,因为插入1000个DOM表行似乎会导致浏览器卡住。是否有更好的方法来优化行的呈现以使其执行得更快?我知道你总是可以进行部分获取(获取初始100条记录,并且每次用户滚动到屏幕底部时另外获取100条记录),但我通常反对这个想法,因为向下滚动100条记录并且不得不等待3-4秒前呈现额外的100条记录似乎会导致糟糕的用户体验。这是我的代码:FM.Views.Job

javascript - jQTouch 和 Backbone.js 路由/ View

我想知道是否有人将最新的jQTouch与Backbone.js一起使用,如果是的话,他们如何处理使用Backbone的路由器和View而不是jQTouch自动尝试显示div的页面之间的转换与哈希相关的特定ID。 最佳答案 你想用jQTouch实现什么?据我所知,它是一个轻量级的移动框架,允许您通过显示和隐藏div来构建单页移动Web应用程序。它为您提供的三个主要功能:漂亮的移动用户界面元素页面之间的CSS3过渡(滑动、弹出、淡入淡出等)。根据您触摸的UI元素在页面之间自动转换的导航框架(例如,使用href#about触摸anchor

javascript - 如何动态创建 Backbone View 元素?

我想在Backbonejs应用程序中动态创建一些View元素。初始化新View时,我希望它将新元素插入到DOM中,将对该元素的引用存储在view.el中,并像往常一样委托(delegate)事件。我知道我可以放入我的html,然后使用el:"#test"设置一个View,但这对于模式和其他不是Web应用程序核心的View来说似乎有点矫枉过正。我在文档中缺少规定的方法吗?我只是误解了View应该如何工作吗? 最佳答案 主干View将生成el为您服务,无需您做任何事情。默认情况下,它会创建一个.不过,您可以生成任何您想要的标签名称。实例

javascript - 集合中的 Backbone.js 同步事件

根据这里的文档:http://documentcloud.github.com/backbone/#FAQ-events当我执行某些操作以将集合与服务器同步时,集合已触发同步事件。我尝试在集合上调用fetch方法并等待其上的同步事件,但它从未发生过。添加事件已触发,但在同步集合中的所有项目后我只需要一个事件来更新相应的View。还有另一种方法可以触发此事件吗? 最佳答案 解决方案是在作为参数传递给fetch方法的“成功”回调中手动启动同步事件。this.collection.fetch({add:true,success:funct

javascript - 将 Jasmine JavaScript 单元测试与 TFS Build CI 集成的简便方法

我一直在使用Jasmine编写JavaScript单元测试。但是,这些测试在浏览器中运行,而不是作为MSTest的一部分。我希望我的TFS持续集成构建在JavaScript单元测试失败时中断。我知道VisualStudio2012中有针对此问题的解决方案,但我在2010年(并且可能在未来很长一段时间内)。有没有一种简单的方法可以将基于Jasmine的JavaScript单元测试与TFSBuild集成? 最佳答案 Chutzpah测试运行器使您能够从命令行或VisualStudio运行QUnit和JasmineJavaScript单元