Backbone.js在initialize中读取模型属性

时间:2016-10-12 15:00:07

标签: backbone.js coffeescript backbone-views

在我的一个视图中,我需要将属性值重新复制到另一个属性中。

以下是我在coffeescript

中的代码中的代码
class MyFactoryView extends Backbone.View

  initialize: ->
    @model.fetch reset: true
    @model.set('NewStatus', @model.get('CurrentStatus'))

当我调用get时,此代码抛出一个未定义的异常。

但如果我做一个console.log @model,我可以在属性中看到CurrentStatus

1 个答案:

答案 0 :(得分:1)

作为mu saidfetch是异步的,只有在完成后才能访问这些属性。

class MyFactoryView extends Backbone.View

  initialize: ->
    @model.fetch 
      reset: true
      context: @
      success ->
        @model.set('NewStatus', @model.get('CurrentStatus'))

对于该特定行,使用模型的parse函数初始化同步时的NewStatus属性可能更简单。

对于控制台,请查看this answer,其中说明控制台包含live references并且不会复制任何内容。