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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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 是否对不带模型的视图使用Marionette.ItemView?_Backbone.js_Marionette - Fatal编程技术网

Backbone.js 是否对不带模型的视图使用Marionette.ItemView?

Backbone.js 是否对不带模型的视图使用Marionette.ItemView?,backbone.js,marionette,Backbone.js,Marionette,对于没有与之关联的特定模型属性的视图类,使用木偶.ItemView是否常规 由于Marionette.View并不打算直接使用,因此它似乎是一个具有方便的默认值和绑定的视图类 或者,是否应该使用主干网查看?如果是这样的话,有没有办法将Backbone.View挂接到木偶的事件和垃圾收集架构中 谢谢你的澄清 ItemView可以在没有模型的情况下使用。我经常这样做 如果需要为ItemView指定数据,但在主干.Model中没有该数据,则需要重写serializeData方法: MyView =

对于没有与之关联的特定
模型
属性的视图类,使用
木偶.ItemView
是否常规

由于
Marionette.View
并不打算直接使用,因此它似乎是一个具有方便的默认值和绑定的视图类

或者,是否应该使用主干网查看?如果是这样的话,有没有办法将
Backbone.View
挂接到木偶的事件和垃圾收集架构中


谢谢你的澄清

ItemView可以在没有模型的情况下使用。我经常这样做

如果需要为ItemView指定数据,但在主干.Model中没有该数据,则需要重写
serializeData
方法:


MyView = Marionette.ItemView.extend({
  serializeData: function(){
    return {
      my: "custom data"
    };
  }
});

基本的木偶。视图并不打算直接使用,因为它本身不提供渲染功能。但这并不意味着不能使用它创建自己的基本视图类型。例如,您可以为您的应用程序构建一个视图类型,用于渲染google maps或第三方小部件或其他不需要常规主干的东西。ItemView中包含的基于模型的渲染。

我刚刚发现您可以使用templateHelper来实现此目的-只需在ItemView声明中取消此选项:

templateHelpers: function() {
    return {
        message: this.message,
        cssClass: this.cssClass
    }
}
然后在模板中:

<script type="text/html" id="notice-template">
    <span class="<%= cssClass %>"><%= message %></span>
</script>
我想知道你对德里克的看法

var noticeView = new App.Views.Notice();
noticeView.message = "HELLO";
App.noticeRegion.show(noticeView);