Backbone.js 去除脊椎周围的元素。木偶
我有以下看法:Backbone.js 去除脊椎周围的元素。木偶,backbone.js,marionette,Backbone.js,Marionette,我有以下看法: return Marionette.ItemView.extend({ el: '<section>', template: JST['app/scripts/templates/grid.ejs'], 问题是:如何去掉周围的section元素?我试图省略el属性,但这给了我以下奇怪的div: <div productname> 关于Roger主干网的工作需要周围的元件。它本质上是视图所在的容器/占位符,无论
return Marionette.ItemView.extend({
el: '<section>',
template: JST['app/scripts/templates/grid.ejs'],
问题是:如何去掉周围的section元素?我试图省略el属性,但这给了我以下奇怪的div:
<div productname>
关于Roger主干网的工作需要周围的元件。它本质上是视图所在的容器/占位符,无论其内容是否已呈现
如果你<强>真正的< /强>坚持不拥有容器,那么我会考虑诉诸如下:
我之所以说“诉诸”是因为,在我看来,这不是脊梁骨应该被使用的方式,可能会产生副作用。(我不太确定当该区域的视图尝试重新渲染时会发生什么;它的
el
元素指向什么?要扩展Scott的答案,尝试并强制删除周围的视图标记可能是一个非常糟糕的主意
所有主干视图都包含在DOM元素中。鉴于这一事实,您有两个主要选择:
- 让主干将视图放入默认的
元素中div
- 使用
或el
属性指定要用哪个元素包装视图标记名
initialize
函数。然后将其解释为视图的属性,并将其设置为HTML属性
向视图提供模型实例的正确方法是:
new App.FooterView({
model: new App.Model()
})
换句话说,您向视图提供了一个javascript对象,该对象具有
model
属性。如果你想快速学习木偶的基础知识,请查看我的书的免费预览:(你将在第15-21页找到如何使用模型实例化视图)有一件事仍然让我困惑,那就是奇怪的div标记,当我忽略el属性时。它看起来确实很奇怪,但是您需要建立一个JSFIDLE来重现这个问题,否则就不可能排除故障。很可能,您正在向视图传递某种属性(请参阅)。“我的细节模型”中的所有属性最终都作为div标记上的属性。到目前为止,我还不能用JSFIDLE重现这一点,问题是不能将模型作为参数传递给视图。下面的jsiddle记录了这个问题([link]),当然可以:我还用您的问题更新了我的答案。
Marionette.Region.prototype.open = function(view){
this.$el.empty().append(view.$el.children());
}
new App.FooterView({
model: new App.Model()
})