TECHTOGOU

backbone.js

全部标签

javascript - backbone.js View 确定模型的哪个属性发生变化

我怎么知道在渲染函数中更改了View模型的哪个属性?(在渲染函数中,“e”是模型,但我只需要更改的属性。)我需要知道这个才能知道使用哪个模板。还是有其他方法可以做到这一点?window.Person=Backbone.Model.extend({});window.Njerzit=Backbone.Collection.extend({model:Person,url:'/Home/Njerzit'});window.PersonView=Backbone.View.extend({tagName:'span',initialize:function()

javascript - 主干模型的转换/初始化子模型

我想我有一个非常简单的问题,很难说出来,因此很难找到解决方案。设置:PathCollection是一个Backbone.CollectionofPathsPath是一个Backbone.Model,它包含NodeCollection(它是一个Backbone.Collection)和EdgeCollection(它是一个Backbone.Collection)。当我获取PathCollectionpaths=newPathCollection()paths.fetch()显然,路径被实例化。但是,我缺少可以允许Path从属性哈希实例化其子模型的地方。我真的不能使用解析,对吧?基本上,我

javascript - Backbone : Call an extended view's overridden render() function

我有一个WorkoutExerciseRowView,它扩展了ExerciseRowView。渲染函数非常相似,除了WorkoutExerciseRowView必须向ExerciseRowView的渲染添加一些参数。如何在WorkoutExerciseRowView的渲染函数中调用ExerciseRowView的渲染函数?varWorkoutExerciseRowView=ExerciseRowView.extend({render:function(){//returnthis.constructor.render({//doesn'tworkreturnthis.rende

javascript - Backbone JS 路由无法正常工作

我想我缺少一些关于Backbone路由功能的基础知识。我正在构建一个应用程序,它看起来像这样:文件:app.jsApp={}App.nav=newBackbone.Router;require('app/controller');文件:controller.jsApp.nav.route('home','home',function(){console.log("HomeActivated");});App.navigate('home');此时浏览器将地址栏中的URL更改为/home但没有任何反应,我也没

javascript - 在 backbone.js 中的 2 个不同模板之间交替

我的模型View有2个不同的模板。每次从数据库中获取模型时,从后端获取的前3个模型(#1、2、3)将使用第一个模板创建View,接下来的4个模型(#4、5、6、7)将使用第二个模板,接下来的3个模型(#8、9、10)将使用第一个模板,依此类推。问题:我将如何使用backbone.js引入这个交替模板?JS代码//ViewsPhotoListView=Backbone.View.extend({el:'#photo_list',render:function(){$(this.el).html('');_.each(this.model.models,fu

javascript - 主干 View 继承

我正在尝试为一个对象浏览器编写一个BackboneView,该View旨在在具有不同对象类型和略有不同操作的多个地方实现。我曾尝试简单地在我的浏览器中扩展主干View,然后在我的实现中扩展浏览器,但是这给我留下了一些共享的属性。这是一个不受欢迎的效果,因为数据会附加到每个浏览器创建的所有实现中。有人可以阐明解决此问题的方法或替代解决方案吗?以下是一些代码示例,可让您更好地了解它的当前状态:varBrowserView=Backbone.View;_.extend(BrowserView.prototype,Backbone.View.prototype,{className:'

javascript - backbone.js 设置模型属性内部字段

我想设置一个backbone.js模型的属性,但只是一个内部字段而不是整个字段。示例代码可能是:model.set('user.avatar','img')有什么我可以做的吗?谢谢 最佳答案 您可以简单地复制对象,设置属性,然后在原始模型上重新设置它:varuserAttributes=model.get("user");userAttributes.avatar="img";model.set("user",userAttributes)或者添加一个函

javascript - 问题使用 Mustache 模板渲染 Backbone 集合

我对backbonejs和Mustache很陌生。我试图在从railsjson对象加载页面时加载Backbone集合(对象数组)以保存额外的调用。我在使用mustache模板渲染Backbone集合时遇到问题。我的模型和收藏是varItem=Backbone.Model.extend({});App.Collections.Items=Backbone.Collection.extend({model:Item,url:'/items'});并查看App.Views.Index=Backbone.View.extend({el:'#itemList',i

javascript - Backbone.js 安全

我现在正在学习Backbone.js,如果我的问题很笨,很抱歉:-P在我的程序中,我在服务器端检查我的数据是否正确等等...但我想知道如果用户使用FireBug中的控制台更改存储在模型中的数据并尝试.save()或.fetch().有什么办法可以阻止这样的行为吗?考虑到我所有的数据都将存储在模型中并且用户可以轻松检索我使用backbone.js并不是很舒服,是我一个人的问题还是这里有什么问题?! 最佳答案 一种简单而安全的方法是将用户凭据(用户名和密码)包含到您的模型中,并在服务器端对每个AJAX调用进行检查。为了避免如此多的bdd

javascript - jquery/backbone/mustache/json 将 html 渲染为文本字符串

太累了,我知道我以前见过这个,但谷歌没有帮助我制作单页Backbone驱动的WP主题。数据只是wordpressJSONAPI数据,我现在已经很高兴地在几个项目中使用了backbone,但这次它玩起来不太好。它正在这样做(显示html标签而不是......很好地使用它们):这是渲染代码:this.template='<divclass="post-list">{{#posts}}<article><h2>{{title}}</h2><spanclass="postcontent">{{c