我正在按照backbonerails.com 上的教程学习Marionette。看起来视频是使用版本 1 编写的,但在版本 2 中,消息系统已更改并使用 wreqr。
我一直在尝试使用 wreqr github 示例翻译代码,但不断出现错误。如果有人可以帮助我将此代码翻译成当前的 Marionette 请求/响应系统,我将非常感激!我一直无法找到任何当前的示例。
实体文件中的当前代码:
@Demo.module "Entities", (Entities, App, Backbone, Marionette, $, _) ->
class Entities.Header extends Backbone.Model
class Entities.HeaderCollection extends Backbone.Collection
model: Entities.Header
API =
getHeaders: ->
new Entities.HeaderCollection [
{ name: "Users" }
{ name: "Leads" }
{ name: "Appointments" }
]
App.reqres.addHandler "header:entities", ->
API.getHeaders()
请求实体的 header Controller 中的代码:
@Demo.module "HeaderApp.List", (List, App, Backbone, Marionette, $, _) ->
List.Controller =
listHeader: ->
links = App.reqres.request "header:entities"
console.log links
headerView = @getHeaderView links
App.headerRegion.show headerView
getHeaderView: (links) ->
new List.Headers
collection: links
最佳答案
放置在实体中的
addHandle不存在。 替换为 setHandler,使用 request 调用此事件,例如。
# entities
App.reqres.setHandler "header: entities", ->
API.getHeaders()
# controller
links = App.reqres.request links "header: entities"
setHandler 函数负责添加您的事件触发器以及回调和上下文,请查看source code from the marionette .
我在 Marionette 的最新版本中做了一个样本。 我正在使用 Wreqr 与实体的 API 交换事件,例如 more details see in this project .
关于javascript - Marionette JS 和 Wreqr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24791670/