问题标签 [backbone-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 骨干更新模型
在主干中,我创建了以下模型、集合和视图
var sensor= Backbone.Model.extend({})
var sensorCollection = Backbone.Collection.extend({
model: sensor
})
var sensors= new sensorCollection;
var SensorView =Backbone.View.extend({})
var AppView =Backbone.View.extend({})
var App = new AppView
我也有这个 PHP 套接字正在运行:
我正在尝试使用来自插座的温度读数来更改/更新模型。如您所见,我已经尝试过sensor.set
并且还尝试了以下方法:
App.model.set
This.model.set
App.sensor.set
并且每种不同的方式要么表示未定义,要么表示未找到该函数。我在这里错过了什么吗?它们都在同一个声明中$(function(){}
如何从我的 Autobahn 套接字功能更新我的骨干模型?
backbone.js - 充满数据的主干集合,但模型是空的
使用 Backbone.js,我试图将我的数据引导到一个集合中。我的引导程序看起来像log.reset( <JSON> );
当我 console.log 我的收藏时,我看到一堆充满数据的对象。问题是当我对循环中的单个模型进行控制台登录时,我看到一堆没有数据的空对象。数据都在集合中,但我无法在每次 forEach 传递时将其传递到我的模板中。我在项目的另一部分使用完全相同的代码结构来渲染一个完美运行的集合视图......我不知道为什么这个不起作用。
请注意,我正在侦听集合上的重置事件。
如何修复我的空模型?
backbone.js - 将 url 属性传递给模型不起作用
我有一个简单的 Backbone 视图继承层次结构,并希望我的所有视图都有一个通用模型。只有这些视图中模型的 url 属性会有所不同。所以我在初始化模型时传递了 url。
父通用视图是:
子视图是:
GenericModel 只是空模型(至少现在)
在控制台中,我收到以下错误:
是我的层次结构是问题还是其他?有什么想法吗?
backbone.js - 主干js - 获取多个模型
我是backbonejs的新手,我正在做一些项目,包括获取和显示朋友列表。对于这个项目,我使用 parse.com 作为数据库。但我现在有货了。
例如:我在用户和朋友模型中有以下数据。
];
// 集合
现在我想要什么?
当我获取朋友集合对象时,我想获取用户的朋友列表及其详细信息。
例子::
我应该创建新的集合来关联它们还是有其他方法可以做到这一点?
提前致谢!
backbone.js - 通过主干中的模型传递数据
我有以下代码,它使用编写的 jquery-ajax 调用运行良好。但是我无法弄清楚如何通过模型传递值。通过一些研究,我做了一些事情,你可以在下面看到它(就在 ajax 调用上方)。
我想用 login.save() 替换 $.ajax() 并通过 save() 传递值。请让我知道我所做的是正确的,或者是否有更好的方法。我可以在模型中编写成功和失败回调吗(就像我所做的那样)?
backbone.js - 主干中的json解析
我有一个成功回调函数,它总是返回以下内容:
但这总是以未定义的形式结束。如果我打印结果,我会得到上面的数组。如果我返回 result.ss 或 result.me 我得到未定义。
我认为为什么会发生这种情况有一个非常愚蠢的原因,但我无法理解。
骨干视图(删除其他代码):
rest - 使用没有视图/路由的主干.js 模型概念
我想逐步将我现有的“服务器端渲染”网络应用程序迁移到更“cientside 渲染”的方法。
我首选的出发点是将现有的数据处理层更改为使用 ajax 样式的方法,使用 rest http-api 来处理 put/post/get/delete 请求。
所以我的问题是......有没有合适的方法将backbone.js的集合/模型概念用于我现有的web应用程序,而不必使用路由/控制器/视图/模板?
我可以在这里补充一下,我已经有一个使用 slimframework 的工作 rest-httpapi。我想使用backbone.js 模型/集合来获取/保存数据。但是 html-rendering 和 event-binding 目前应该不属于backbone.js的职责。
谢谢
backbone.js - Backbonejs collection.fetch() 强制执行默认模型参数
将 Backbonejs 升级到 1.0 后,从服务器获取集合会强制执行不响应的默认属性。
更具体地说,我创建了这个可以在jsfiddle中验证的测试。
假设我们有一个具有默认属性的骨干模型定义。属性text
可以从服务器以 JSON 格式接收[{ "text": "updated", "id" : 1}]
,属性selected
在客户端维护。
如果我们使用此设置并从服务器获取数据,它将正常工作。现在假设我们像这样在骨干集合中添加这个模型:
创建一个新的集合实例并填充fetch
:
之后,我们在集合中取一个模型并将selected
属性更改为 true:
现在,如果我们第二次调用fetch
该集合,false
即使响应中没有这样的值,主干也会将我们之前更改的属性清除为默认值:
获取selected
值将返回false
而不是我们之前设置的true
。
解决方法:注释掉那些没有从服务器接收到的属性。
但是在这种情况下,我们会从主干中丢失许多有用的功能。这是 Backbonejs 1.0 中的回归还是我以错误的方式使用这个模型?
javascript - 覆盖 Jquery ajax 成功
嗨,我有一个基本模型 -
现在,我想创建一个 ConcreteModel 来扩展 BaseModel 的 fetch 函数并覆盖 ajax 成功
});
如何在 ConcreteModel 的 ajaxCall 函数中覆盖 ajax 成功实现。
谢谢。
javascript - model.save - 只保存到服务器一次
我在主干中运行此代码,它将一些数据保存到服务器,
这在我第一次运行时运行良好,但是如果我在保存第一条数据后再次运行它,它不会保存新数据,它只会更新最后保存的数据。所以我第一次保存它时运行一个 POST 请求,下次它运行一个 PUT 请求时,为什么会这样?
我不确定你是否需要这个,但这是我的初始化函数 -