Javascript 使用Marionette.js访问Eco模板中的实例方法
我有一个简单的控制器Javascript 使用Marionette.js访问Eco模板中的实例方法,javascript,templates,marionette,backbone-views,eco,Javascript,Templates,Marionette,Backbone Views,Eco,我有一个简单的控制器 @Blobber.module "PlacesApp.Show", (Show, App, Backbone, Marionette, $, _) -> Show.Controller = showPlace: (place) -> showView = @getShowView place App.mainRegion.show showView getShowView: (place) ->
@Blobber.module "PlacesApp.Show", (Show, App, Backbone, Marionette, $, _) ->
Show.Controller =
showPlace: (place) ->
showView = @getShowView place
App.mainRegion.show showView
getShowView: (place) ->
new Show.Place
model: place
和查看文件:
@Blobber.module "PlacesApp.Show", (Show, App, Backbone, Marionette, $, _) ->
class Show.Place extends App.Views.ItemView
template: "places/show/templates/_place"
我想访问place
模型实例上名为place.posts()
的方法,该方法通过Supermodel.js()返回模型Post
的相关集合。我正在使用Eco templates(),并且一直遵循在上的教程中的模式
有人知道我应该如何访问Eco模板中相关的帖子吗?我希望能够访问实际方法.posts()
,但我愿意在视图中创建posts
变量并将其传递到模板中
谢谢,如果您需要更多信息,请询问。我通常通过以下两种方式之一进行此操作:
覆盖Show中的serializeData()
。放置视图,在结果json中包含posts()
数据,然后通过@posts
访问模板中的posts数据
覆盖视图中的templateHelpers()
,并通过@posts()
访问模板中的posts数据
查看更多信息。我通常采用以下两种方式之一:
覆盖Show中的serializeData()
。放置视图,在结果json中包含posts()
数据,然后通过@posts
访问模板中的posts数据
覆盖视图中的templateHelpers()
,并通过@posts()
访问模板中的posts数据
查看更多信息。您可以使用来自木偶网的复合视图从模板中提取逻辑,它可以处理模型和集合:
因此,您将有一个不带循环逻辑的CompositeView模板,在此视图中,您必须定义一个itemView和一个itemViewContainer,其中将包含绑定到集合中的模型的itemView事件。之后,您必须使用自己的模板为您的CompositeView创建项目视图
我相信您会在文档中找到所需的所有信息,并提供更好的解释;)
您可以使用来自木偶网的复合视图从模板中提取逻辑,它可以处理模型和集合:
因此,您将有一个不带循环逻辑的CompositeView模板,在此视图中,您必须定义一个itemView和一个itemViewContainer,其中将包含绑定到集合中的模型的itemView事件。之后,您必须使用自己的模板为您的CompositeView创建项目视图
我相信您会在文档中找到所需的所有信息,并提供更好的解释;)
据我所知,在templateHelpers
方法中,我似乎仍然只能访问模型属性。您能为这些解决方案之一演示一些示例代码吗?我根本不知道如何在serializeData
方法中访问模型,我只知道如何在templateHelpers
方法中访问模型属性。谢谢你的帮助!此外,我还愿意使用compositeView
或任何其他类型的视图,这些视图对这类内容更适合。据我所知,在templateHelpers
方法中,我似乎仍然只能访问模型属性。您能为这些解决方案之一演示一些示例代码吗?我根本不知道如何在serializeData
方法中访问模型,我只知道如何在templateHelpers
方法中访问模型属性。谢谢你的帮助!另外,我也愿意使用复合视图
或任何其他类型的视图,这些视图对这类事情来说会更好。