我有简单的 Controller
@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()
的方法,该方法返回关联的 Collection
通过 Supermodel.js (http://pathable.github.io/supermodel/) 进行模型Post
。我正在使用 Eco 模板 ( https://github.com/sstephenson/eco ),并且一直遵循 http://www.backbonerails.com 教程中的模式。 。
有人知道我应该如何访问我的 Eco 模板中的相关帖子
吗?最好我希望能够访问实际的方法 .posts()
但我会满足于在我的 View 中创建一个 posts
变量并将其传递到模板中。
谢谢,如果您需要更多信息,请询问。
最佳答案
我通常通过以下两种方式之一来做这样的事情:
在
Show.Place
View 中覆盖serializeData()
,在结果 json 中包含posts()
数据,然后访问帖子模板中的数据由@posts
提供。重写 View 中的
templateHelpers()
,并通过@posts()
访问模板中的帖子数据。
检查https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.view.md了解更多信息。
关于javascript - 使用 Marionette.js 访问 Eco 模板中的实例方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18993480/