Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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 与木偶网Require.js和子模型类型相关的主干_Javascript_Backbone.js_Marionette_Backbone Relational - Fatal编程技术网

Javascript 与木偶网Require.js和子模型类型相关的主干

Javascript 与木偶网Require.js和子模型类型相关的主干,javascript,backbone.js,marionette,backbone-relational,Javascript,Backbone.js,Marionette,Backbone Relational,当我尝试在木偶模块内创建子模型时,我遇到了与主干关系相关的这个小问题。我拥有以下主干关系文档: Mammal = Backbone.RelationalModel.extend({ subModelTypes: { 'primate': 'Primate', 'carnivore': 'Carnivore' }

当我尝试在木偶模块内创建子模型时,我遇到了与主干关系相关的这个小问题。我拥有以下主干关系文档:

            Mammal = Backbone.RelationalModel.extend({
                subModelTypes: {
                    'primate': 'Primate',
                    'carnivore': 'Carnivore'
                }
            });

            Primate = Mammal.extend();
            Carnivore = Mammal.extend();

            MammalCollection = Backbone.Collection.extend({
                model: Mammal
            });

// Create a collection that contains a 'Primate' and a 'Carnivore'.
            var mammals = new MammalCollection([
                { id: 3, species: 'chimp', type: 'primate' },
                { id: 5, species: 'panther', type: 'carnivore' }
            ]);

            var chimp = mammals.get( 3 );

            alert( 'chimp is a mammal? ' + ( chimp instanceof Mammal ) + '\n' +
                'chimp is a carnivore? ' + ( chimp instanceof Carnivore ) + '\n' +
                'chimp is a primate? ' + ( chimp instanceof Primate ) );
这在我这边和在我这边都很好用。黑猩猩是哺乳动物和灵长类动物的一个例子。当此代码在木偶模块内运行时,我的问题开始了,如下所示:

define(
    [
        "app",
        "backbone-relational",

    ],
    function(ManagerApp){

        ManagerApp.module("Entities", function (Entities, ManagerApp, Backbone, Marionette, $, _) {

            var Mammal = Backbone.RelationalModel.extend({
                subModelTypes: {
                    'primate': 'Primate',
                    'carnivore': 'Carnivore'
                }
            });

            var Primate = Mammal.extend();
            var Carnivore = Mammal.extend();

            var MammalCollection = Backbone.Collection.extend({
                model: Mammal
            });

// Create a collection that contains a 'Primate' and a 'Carnivore'.
            var mammals = new MammalCollection([
                { id: 3, species: 'chimp', type: 'primate' },
                { id: 5, species: 'panther', type: 'carnivore' }
            ]);

            var chimp = mammals.get( 3 );

            alert( 'chimp is an animal? ' + ( chimp instanceof Mammal ) + '\n' +
                'chimp is a carnivore? ' + ( chimp instanceof Carnivore ) + '\n' +
                'chimp is a primate? ' + ( chimp instanceof Primate ) );

        });

    })
在这个例子中,我对黑猩猩和哺乳动物的例子是正确的,但对灵长类和食肉类动物是错误的。我意识到我的所有模型都应该附加到实体上,但这也不起作用,我想测试最简单的场景

为什么不创建适当的子模型

试试看