草庐IT

testing-backbone-apps-with-jasmin

全部标签

javascript - 文本编辑器的 Redux 架构 : dealing with coupled state

我正在使用React/Redux构建一个在某些方面类似于文本编辑器的应用程序。它不完全是一个文本编辑器,但它是相同的通用范例。有一个用于放置新项目的光标。可以添加、选择、删除项目等。我正在努力寻找一种符合redux精神的最佳方式来构建我的reducer。我有单独的状态切片来表示选择状态、文本本身、光标状态和其他设置。我认为“redux”方法是为每个状态切片设置缩减器,独立地改变状态以响应Action。然而,在文本编辑器中,这些状态片比乍看之下更加耦合。当你按下一个键时,有时会在光标所在的位置添加一个字母,并且光标会向前移动。但是,如果选择了文本,则将首先删除所选文本。如果您处于“插入”

javascript - Jasmine Spy 根据参数返回不同的值

我正在监视一个JS方法。我想根据方法的实际参数返回不同的东西。我试过callFake并尝试使用arguments[0]访问参数,但它说arguments[0]未定义。这是代码-spyOn(testService,'testParam').and.callFake(function(){varrValue={};if(arguments[0].indexOf("foo")!==-1){returnrValue;}else{return{1};}})这里建议-AnywaytomodifyJasminespiesbasedonarguments?但这对我不起作用。

javascript - 使用 create-react-app 获取 api 数据

我是reactjs的新手,我正在使用create-react-app开始,但我不明白如何调用api来获取数据。这是我的代码:importReact,{Component}from'react';importlogofrom'./logo.svg';import'./App.css';//import{URL,KEY,city,countryCode}from'./config.json';constKEY="d7ba7d7818dd3cec9ace78f9ad55722e";constURL="api.openweathermap.org/data/2.5";constCITY="Pa

javascript - 如何让 jquery.couch.app.js 与 IE8 一起工作

我已经在WindowsXPSP3的IE7和IE8(在所有兼容模式下)和Windows7Ultimate的IE8(在所有兼容模式下)上进行了测试,但在两者上都以相同的方式失败。我正在运行来自couchapp的最新HEAD存储库。这在我的OSX10.6.3开发机器上运行良好。我已经在Windows7Ultimate上使用Chrome4.1.249.1064(45376)和Firefox3.6进行了测试,它们都运行良好。与OSX10.6.3上的Safari4和Firefox3.6一样这是错误信息WebpageerrordetailsUserAgent:Mozilla/4.0(compatib

javascript - Backbone js模型依赖注入(inject)

将多个模型“依赖注入(inject)”到Backbone中initialized()的View中是否可以接受?例如:varmyView=newMyView({model:{category:categoryModel,name:nameModel,tag:tagModel}}) 最佳答案 当然可以接受!使用模型和View有一些常见的做法——最值得注意的是,人们通常将Backbone模型传递给View。但是,对于View的model应该或不应该是什么没有规则。真正的关键是您的团队(如果有的话)了解您在做什么以及为什么这样做。如果您要在

javascript - Backbone.js:将值从 Collection 传递到每个模型

我需要在初始化时将View中的值传递给集合中的每个模型。Collection之前,我们可以在Backbone.Collection构造函数中传递“选项”。在此之后,是否有任何技术可以将一些“选项”传递到集合中的每个模型中?varSong=Backbone.Model.extend({defaults:{name:"Notspecified",artist:"Notspecified"},initialize:function(attributes,options){//Needthesome_imp_valueaccessiblehere},});varAlbum=Backbone.C

javascript - Backbone.js 应该从 URL 获取 GET 参数吗?

我正在尝试为我的网站实现搜索功能。当用户在input框中键入搜索词foobar并提交时,他将被重定向到http://mydomain.com/search?query=foobar。问题::我应该如何从URL中获取GET参数query,并将其发送到后端并以JSON响应的形式返回一组结果?我应该这样做吗?我目前在下面的尝试甚至没有触发search功能。路由器varAppRouter=Backbone.Router.extend({routes:{'search?query=:query':'search'//...andsomeotherroutes},search:function(q

javascript - 从 Backbone 中的表单更新模型

我正在使用Backbone和Laravel创建一个简单的应用程序来管理预订,我正在处理一个简单的表单来更新当前登录用户的用户数据。我想知道,是否有比我所做的更好、更有效的方法来使用表单中的输入数据更新您的模型?我在模型中创建了一个名为update的方法,该方法传递了一个表单的DOM对象。我认为这不是解决问题的最佳方法。任何帮助将不胜感激!varAccount=Backbone.Model.extend({url:"/settings/account",initialize:function(){},update:function(form){this.set({first_name:f

javascript - appendChild()复选框: remember selections with browser back button

在此先感谢任何尝试帮助我的人。我有一个表单,我根据一系列条件通过appendChild()将复选框添加到-作为供用户选择的选项。当用户选中这些框中的任何一个,然后单击“继续”按钮以将选择发布到另一页时,然后单击后退按钮-用户选中的复选框,现在被忘了,浏览器(不再选中)。如果我使用php编写复选框,或者仅使用静态复选框-当用户选中其中任何一个复选框,然后单击“继续”按钮以将选择发布到另一页时,然后单击“后退”按钮-选定的复选框被记住了(仍处于选中状态)我的问题是:当我使用appendChild()创建复选框时,浏览器为什么会忘记用户所做的选择但是同一浏览器会记住,当用户使用静态复选框时所

javascript - Backbone 模型。创建不调用任何回调

我有以下代码来为集合创建一个新模型。底层数据存储是一个远程API:varpostCreationStatus=this.model.create(newPostModel,{wait:true//waitsforservertorespondwith200beforeaddingnewlycreatedmodeltocollection},{success:function(resp){console.log('successcallback');console.log(resp);},error:function(err){console.log('errorcallback');c