骨干模型事件/触发器未触发

时间:2012-04-23 18:04:08

标签: backbone.js coffeescript backbone-events

在几个教程中看到它之后,我试图在我的视图中执行以下代码行

@model.on('change', @render, this)

不幸的是,更改事件未触发,因此我的视图不会重新渲染。

我尝试使用触发器功能绑定到不同的事件并创建一些自定义事件,但似乎没有任何东西在模型上触发。此外,控制台没有错误。更改事件在不同的集合上正常工作。我使用的是Zepto 1.0,Backbone.js 0.9.2和Underscore.js 1.3.1

编辑:我试图从路由器

执行以下操作
  place: (id) ->
    @model = new GM.Models.Place({id: "#{id}"})
    @model.fetch
    view = new GM.Views.Place(model: @model)
    $('#container').html(view.render().el)

我的模型设置如下:

class GM.Models.Place extends Backbone.Model
  urlRoot: '/mobile/place'

我想知道是否有人之前遇到过类似问题并且有快速解决方法。 如果没有,您需要更多代码才能找到解释,请告诉我......

1 个答案:

答案 0 :(得分:1)

你实际上并没有在任何地方调用@model.fetch方法。这样:

@model.fetch

不是方法调用,如果要调用方法,则需要添加括号或参数:

@model.fetch()
# or
@model.fetch success: -> ...
# etc.

否则你只是在JavaScript中生成this.model.fetch;并且没有做任何有用的事情。