Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js-如何将3个模型组合成1个集合并输出所有数据?_Javascript_Jquery_Backbone.js - Fatal编程技术网

Javascript Backbone.js-如何将3个模型组合成1个集合并输出所有数据?

Javascript Backbone.js-如何将3个模型组合成1个集合并输出所有数据?,javascript,jquery,backbone.js,Javascript,Jquery,Backbone.js,我正在为我的项目()使用jquery、backbonejs、下划线JS和Bootstrap3。这是我的源代码 我的问题是,如何在OrderCollections中将3个模型组合成1个集合 CategoryModel.js define([ 'underscore', 'backbone', ], function(_, Backbone) { var CategoryModel = Backbone.Model.extend({}); return CategoryModel

我正在为我的项目()使用jquery、backbonejs、下划线JS和Bootstrap3。这是我的源代码

我的问题是,如何在OrderCollections中将3个模型组合成1个集合

CategoryModel.js

define([
  'underscore',
  'backbone',
], function(_, Backbone) {

  var CategoryModel = Backbone.Model.extend({});

  return CategoryModel;

});
MerchantModel.js

define([
  'underscore',
  'backbone',
], function(_, Backbone) {

  var MerchantModel = Backbone.Model.extend({});

  return MerchantModel;

});
ProductModel.js

define([
  'underscore',
  'backbone',
], function(_, Backbone) {

  var ProductModel = Backbone.Model.extend({});

  return ProductModel;

});
OrderCollection.js

define([
  'underscore',
  'backbone',
  'models/category/CategoryModel',
  'models/merchant/MerchantModel',
  'models/product/ProductModel'
], function(_, Backbone, CategoryModel, MerchantModel, ProductModel){

 //stuck here
  var OrderCollection = Backbone.Collection.extend({
    model: CategoryModel,
    url:"https://izify.com/api/izify-api/user/get_all_categories.php",
    parse: function(data) {
        return data.tbl_categories;
    },

  });

  return OrderCollection;

});
然后,如何将所有数据检索到一个html页面中

OrderView.js

define(['jquery', 'underscore', 'backbone', 'models/global/GlobalModel', 'collections/order/OrderCollection', 'views/header/HeaderView', 'views/sidebar/SidebarView', 'views/footer/FooterView', 'text!templates/category/orderTemplate.html'], function($, _, Backbone, GlobalModel, OrderCollection,HeaderView,SidebarView,FooterView, orderTemplate) {
    var OrderView = Backbone.View.extend({
        el: $("#page"),
        initialize: function() {
            this.$el.off();
        },
        render: function(productId) {

            var that = this;
            var global = new GlobalModel();
            this.collection = new OrderCollection();
            var formValues = {
                merchantId: global.merchantId,
                productId: productId
            };
            this.collection.fetch({
                 data: formValues,
                success: function(collection, response) {
                    var template = _.template(orderTemplate, {
                        orders: that.collection.models
                    });
                    that.$el.html(template);
                    var sidebarView = new SidebarView();
                    sidebarView.render();
                },
                error: function(collection, response) {
                    console.log("error");
                }
            });
        },
    });
    return OrderView;
});
演示:

资源:


非常感谢。

创建不同模型集合的
魔力在于实现
模型
功能

下面是来自


你能根据我的问题详细解释一下吗?
var Library = Backbone.Collection.extend({

  model: function(attrs, options) {
    if (condition) {
      return new PublicDocument(attrs, options);
    } else {
      return new PrivateDocument(attrs, options);
    }
  }
});