而现在,为了一些完全不同的东西。当“dom”对象是拉斐尔对象。那行得通吗?像这样:varNodeView=Backbone.View.extend({events:{"click":"click"},click:function(){alert('clicked')},render:function(){canvas.rect(this.model.get('xPos'),this.model.get('yPos'),50,50).attr({fill:"#EEEEEE",stroke:"none",cursor:"move"});returnthis;}});我需要在raphäel对
我有几个View似乎没有逻辑连贯的模型。我仍然可以尝试为这些创建虚拟模型(并且适本地也有路由器),但对我来说这似乎不自然。那么拥有一个没有相应模型的主干View是一种反模式吗?专家对此怎么说? 最佳答案 backbone的各个组件可以很好地相互配合,但它们没有必要总是在一起。我经常有没有View的模型和没有模型的View。Backbone应用的每个部分都可以以多种不同的方式使用,以促进您需要应用执行的操作。 关于javascript-如果我有一个没有模型的主干View,我是否偏离了MVC
假设您有一个Web表单,其中包含您想要验证的某些字段,这些字段只是字母数字的某个子集、最小或最大长度等。您可以在客户端使用javascript进行验证,您可以将数据发回服务器并向用户报告,无论是否通过ajax。您可以在数据库中拥有验证规则,并以这种方式将错误消息推送给用户。或以上所有内容的任意组合。如果您希望在一个地方保存持久保存到数据库的Web应用程序用户数据的验证规则,有哪些最佳实践、模式或一般好的建议?[编辑]我已经编辑了问题标题以更好地反射(reflect)我的实际问题!顺便说一句,到目前为止有一些很好的答案。 最佳答案 以
假设我有一个网络服务http://www.example.com/webservice.pl?q=google返回文本“google.com”。我需要从带有参数(q=google)的JavaScript模块调用此网络服务(http://www.example.com/webservice.pl),然后使用返回值("google.com")进行进一步处理。最简单的方法是什么?我是一个彻头彻尾的JavaScript新手,所以非常感谢任何帮助。 最佳答案 编辑:我回答这个问题已经十年了,我们现在以CORS的形式支持跨域XHR。.对于任何现
在下面的代码中,我有两个似乎可以正常工作的jQuery选择器。是否有理由做一个而不是另一个,或者是否有另一种首选方式?varval1=$("#username",this.el).val()varval2=$(this.el).find("#username").val();我知道不应该有多个具有相同id的元素,但是如果有多个具有相同id的元素,最好的方法是只选择View中的元素(请参见下面的用户名示例).Username:Username:LoginvarLoginView=Backbone.View.extend({el:"#login",events:{"click#loginB
我在使用Bootstrap样式创建数据表时遇到问题。我从这个网站(http://datatables.net/manual/styling/bootstrap)得到了数据表根据我创建的View,我发现较少。我在table上方制作导航栏。所以我想制作搜索框并查看我放在导航栏右侧的记录。因为这就是我想要的。之前:我想成为这样的人如何定制这个?必须更改的javascript代码在哪里或使用jquery进行足够的自定义? 最佳答案 http://datatables.net/examples/basic_init/dom.html仔细阅读然
我刚开始使用backbone,并尝试建立一个包含问题列表的View。在列表的左侧,我有四个过滤器,用于按语言、国家/地区、状态和学习过滤列表。列表和每个过滤器都加载到它们自己的集合中。我的想法是用多个集合制作一个View,但我想知道这是否是主干中的最佳实践,因为我看到的所有示例每个View只有一个集合。另一个想法是分成两个View,一个负责过滤器,然后一个subview只负责问题列表。或者,将所有集合放到一个模型中,然后将该模型传递给我的View是否更Backbone,就像它在此处提到的:http://documentcloud.github.com/backbone/#FAQ-nes
我的浏览器(即我的操作系统)应该知道我在澳大利亚以及正确的日期格式是什么。在这种情况下,d/m/y,而不是m/d/y。但是,如果我运行以下代码:alert(newDate("21/11/1968"))结果是“1969年9月11日星期四”。它认为月份在前,并相应地进行调整。这是为什么?答案是始终使用通用格式作为日期函数的输入,还是有办法告诉浏览器期望以我的语言环境格式输入日期? 最佳答案 将日期字符串转换为可提供预期结果的格式(“yyyy/mm/dd”或“yyyy-mm-dd”)非常简单:newDate("21/11/1968".sp
我已经尝试了一切。helper的每一个组合raw,html_safeto_json包括对::JSON.encode的一些尝试和CGI.unescape.问题是无论我做什么,我都无法在View中打印格式正确的JSON。它始终是HTML转义。这是我认为的代码:varcampaignData;在我的例子中,引号总是被转义为"。我只是对引号做一个gsub,但对于IMO应该是一个非常简单、有据可查的用例来说,这是一个糟糕的解决方案。 最佳答案 这里的问题是“=”字符串。由于它被认为是不安全的,因此它会污染另一个字符串。您可能可以执行以下任一操
我有一些将点击事件绑定(bind)到按钮的Backbone.js代码,点击后想解绑,代码示例如下:varAppView=Backbone.View.extend({el:$("#app-view"),initialize:function(){_.bindAll(this,"cancel");},events:{"click.button":"cancel"},cancel:function(){console.log("dosomething...");this.$(".button").unbind("click");}});varview=newAppView();但是解除绑定(