在应用程序中获取多个 ID 实例
grab multiple instances of ID within an application
我有以下设置和工作正常。
require(['models/profile'], function (SectionModel) {
var sectionModel = new SectionModel({id: merchantId, silent: true});
sectionModel.fetch({
success: function (data) {
$('#merchant-name').html(data.attributes.merchantName);
}
});
});
但它只能在一种情况下工作。我想知道如何正确编辑上面的代码以允许多个实例。
<h3 id="merchant-name"></h3>
内容在"保存"功能中生成。
merchantName:$('#merchantName').val(),
您要做的是为 Backbone 应用程序设置其余组件。Backbone.js的美妙之处在于它能够分离集合,模型和视图,以便您的逻辑保持在适当的位置。
您需要使用 AJAX 调用通过集合从服务器检索模型。然后,使用集合的重置功能。
下面是如何从服务器提取模型集合的示例。
var MyCollectionType = Backbone.Collection.extend({
getModelsFromServer:function()
{
var me = this;
function ajaxSuccess(data, textStatus, jqXHR)
{
me.reset(data);
}
$.ajax(/* Insert the ajax params here*/);
}
});
var collectionInstance = new MyCollectionType({
model:YourModelTypeHere
});
collectionInstance.getModelsFromServer();
然后,要渲染每个模型,您需要为每个模型创建一个视图和一个集合视图。虽然有很多关于学习基本骨干的资源.js我觉得你可能会从其中的一些中受益。
请记住,默认情况下,Backbone 集合将合并具有相同 id 的模型。 "id"通常引用应用程序后端中的模型,因此请确保每个 id 实际上是您想要的。我使用的应用程序具有非 Restfull 后端,因此 ID 永远不会传输到前端。
有一些优秀的资源可以从Backbone.js开始。
https://www.codeschool.com/courses/anatomy-of-backbonejs(在某种程度上,这是一门免费课程,也是一个很好的入门课程。
http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-backbone-js/
http://javascriptissexy.com/learn-backbone-js-completely/
相关文章:
- 如何在速度模板中获取LiferayPortlet实例id
- 当同一浏览器的两个实例浏览时,Javascript页面如何具有唯一的ID
- 返回实例'for循环中的id
- 使用ID获取AmChart的实例
- ExtJs - 如何在使用多个实例时设置组件的 ID
- 在应用程序中获取多个 ID 实例
- 获取在视图实例中定义的具有特定 ID 的数据
- 使用 DOM 元素的 id 访问插件实例
- CKEditor 一个实例用于多个 ID
- Javascript:当生成id时,需要删除页面上一个类的单个实例
- 未捕获的错误:无法为每个类型实例化多个具有相同id的Backbone.RelationalModel
- 如何使用jquery隐藏/更新/显示具有相同ID的多个实例
- 具有相同ID的字段上的tinyMCE的多个实例
- 创建一个不使用实例id的私有成员
- 从它的实例中获取光滑网格的id
- 在实例化对象(使用构造函数)时设置唯一的id
- 如何在Socket中订阅id以外的属性为真的实例室.io / SailsJS
- 从当前脚本(即thisscript.js?id=1&type=2)的url获取参数,不能与多个实例一起工作
- 为angular指令实例分配自定义的唯一id
- 使用实例删除javascript中基于id的对象