草庐IT

backbone-model

全部标签

javascript - 如何在实例化期间捕获新 Backbone.Model 中的验证错误?

绑定(bind)到现有模型的“错误”事件很容易,但是确定新模型是否有效的最佳方法是什么?Car=Backbone.Model.extend({validate:function(attributes){if(attributes.weight==null||attributes.weight 最佳答案 可以通过调用模型的validate方法显式触发验证逻辑。但是,这不会导致触发error事件。您可以通过调用trigger方法为模型手动触发错误事件。实现所需行为的一种方法是在初始化方法中手动触发事件:Car=Backbone.Mode

javascript - Backbone.js View 移除和解除绑定(bind)

当我的页面打开时,我调用集合并填充View:varpagColl=newpgCollection(e.models);varpagView=newpgView({collection:pagColl});另外(通过日期选择器),我希望用不同的模型填充同一个集合并再次实例化View。我遇到的问题是如何在打开新的之前关闭原始的pagView并清空pagColl,因为这个“幽灵View”给我带来了问题.上面提到的变量是局部变量?是不是我需要创建一个全局的pagColl和reset()this? 最佳答案 其实已经有很多关于这个话题的讨论了

javascript - Backbone.js:从集合构建 JSON 数组

我有一个Backbone集合Platforms。Platforms的结构如下所示:PlatformsPlatformListmodels0:Platformattributesid:1name:"somename"1:Platformattributesid:2name:"someothername"我需要从集合中的模型中提取属性,并按以下格式构建一个JSON数组:[{"id":1,"name":"somename"},{"id":2,"name":"someothername"}]调用Platforms.models.toJSON()或JSON.stringify(Platforms

jquery - backbone.js 应用程序范围的功能,不依赖于特定的 Controller /模型

我正在使用backbone-boilerplate,你可以找到它here.我想知道如何添加全局功能,它没有明确绑定(bind)到任何特定的集合、模型、View等。一个例子是“注销”功能,它可能看起来像这样:varlogout=function(){//ClearFavorites//Handleasynchronouslogging(allin-applogsaresenttotheserveratlogout)//Redirecttotheloginpage//Doothercleanup}基本上,这将处理许多模型/集合,包括Favorites、Events、Logs、Users、和

javascript - Backbone collection.create() 不返回更新后的模型

为了学习主干,我正在创建一个类似Twitter的应用程序。所以你知道Twitter每N秒向服务器发送一个GET请求来检查新推文。如果有新推文,它会创建隐藏的li元素并显示带有“NnewTweets”的按钮。如果您单击它,它会显示隐藏的li元素,显示新推文。但是当您添加一条新推文时,行为会有所不同:推文是可见的。您无需单击按钮即可看到它。我已经为隐藏的推文制作了第一部分。对于发布新推文并直接展示它的部分,我认为通过创建新模型、调用collection.create()并触发正确的事件会很容易做到,例如:varnewTweet=newTweet();newTweet.set(/*setth

javascript - ng-model Angular 中复选框的 bool 过滤器

item.imposed为1或0。为了使复选框标记为已选中,值必须为true或false。你不能在ng-model中使用过滤器,如何简单正确地实现这一点? 最佳答案 您可以使用ngChecked,但您不会将任何绑定(bind)返回给您的模型:http://jsfiddle.net/fMBQj/或者您可以使用ngTrueValue和ngFalseValue,但您必须使用字符串(而不是int):http://jsfiddle.net/fMBQj/1/或者您可以使用自定义指令...它现在非常蹩脚。

javascript - ng-model 和值组合不适用于输入文本框

我有两个输入文本框。我需要合并在两个文本框中输入的值并在第三个文本框中显示。如果我只使用第三个文本框中的value,我就可以显示它。方框1:方框2:方框3:方框1+方框2但是,如果我在第三个框中使用模型名称,逻辑似乎不起作用:任何人都可以提出修复建议吗?? 最佳答案 这是一个很好的问题,因为它说明了不正确的“Angular思维”会如何导致问题。使用Angular,您首先从模型开始。然后View绑定(bind)到模型并反射(reflect)它-而不是相反。我的意思是ng-value不会设置模型,尽管它会改变View。您(或者更确切地说

javascript - 如何让 Backbone.ajax 成功返回数据

我试图让Backbone.ajax返回集合“collection”。我在程序的另一部分需要模型。我想让数据在与ajax方法相同的级别上可用。Backbone.ajax({dataType:"jsonp",url:"https://api.twitter.com/1/statuses/user_timeline.json?include_entities=true&include_rts=true&screen_name=twitterapi&count=25",data:"",success:function(val){valvarModel=Backbone.Model.extend

javascript - 引用 Backbone View 的子元素

刚刚渲染了一个像这样的View:render:function(){this.$el.html(this.template(this.model.toJSON()));returnthis;},如何引用模板的子元素之一并对其应用jQuery函数? 最佳答案 主干View公开adollar$function这将在幕后使用jQuery,但在View本身的上下文中。this.$('.child_element_of_my_view_template')即使View已分离($el不在DOM中),这也会起作用,但显然只有当您要选择的元素存在于

javascript - Backbone.js 中的可选路由参数? (再次)

我正在尝试在Backbone0.9.10中设置路由。我想匹配以下类型的路由:/england//england/birmingham/france/france/paris...等这是我目前在路由器中的内容:varAppRouter=Backbone.Router.extend({routes:{"":"index","(/:country)":"index","(/:country)(/:city)":"index"},index:function(country,city){console.log('index',country,city);}});varStateApp=newA