在应用程序中获取多个 ID 实例

grab multiple instances of ID within an application

本文关键字:ID 实例 获取 应用程序      更新时间:2023-09-26

我有以下设置和工作正常。

 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/