Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/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
Backbone.js 主干。木偶收集视图模板';未定义';_Backbone.js_Marionette_Collectionview_Backbone Rails - Fatal编程技术网

Backbone.js 主干。木偶收集视图模板';未定义';

Backbone.js 主干。木偶收集视图模板';未定义';,backbone.js,marionette,collectionview,backbone-rails,Backbone.js,Marionette,Collectionview,Backbone Rails,我一直在制作Brian Mann的BackboneRails屏幕广播,所以我的应用程序结构与这些完全一致 下面定义HomepageApp木偶应用程序的“显示”部分 My.module('HomepageApp.Show', function(Show, App, Backbone, Marionette, $, _){ Show.Photo = Marionette.ItemView.extend({ tagName:'span' }); Show.Photos = Ma

我一直在制作Brian Mann的BackboneRails屏幕广播,所以我的应用程序结构与这些完全一致

下面定义HomepageApp木偶应用程序的“显示”部分

My.module('HomepageApp.Show', function(Show, App, Backbone, Marionette, $, _){

  Show.Photo = Marionette.ItemView.extend({
    tagName:'span'
  });

  Show.Photos = Marionette.CollectionView.extend({  
    template: 'homepage/show/templates/photos',

    itemView:Show.Photo,
    itemViewContainer: '#photos'
  });

  Show.Layout = Marionette.Layout.extend({
    template: 'homepage/show/templates/layout',
    regions:{
      photoRegion: '#photo-region'
    }
  });
});
我还使用以下内容覆盖了Marionette.Renderer.render函数:

Backbone.Marionette.Renderer.render = function(template, data){
  var path = JST["backbone/apps/" + template];  

  try{
    if(!path) throw({message: "Template '" + template + "' not found!"}); 
    return path(data);
  }

  catch(err){
    console.log(err.message);
  }
}
我所有的观点,包括许多没有在这里展示的观点,都是完美的。问题是Show.Photos CollectionView的“template”属性在我的渲染器覆盖中显示为“undefined”,导致以下错误:

Template 'undefined' not found!
奇怪的是,当我根本没有传递模板属性的值时,这种情况甚至会发生

我还知道,我在实例化时正在向它传递一个有效的主干集合


我完全卡住了。有人熟悉这种现象吗

CollectionView不应该有模板,为此,您应该使用CompositeView,如文档中所述:

CompositeView从CollectionView扩展为复合视图 视图中应同时表示分支和叶的场景 树结构,或用于需要创建集合的场景 在包装器模板中呈现

您可以在此处阅读更多内容: