【问题标题】:Backbone.js read model attributes in initializeBackbone.js 在初始化时读取模型属性
【发布时间】:2017-02-21 10:50:20
【问题描述】:

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

这是我在咖啡脚本中的代码

class MyFactoryView extends Backbone.View

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

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

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

【问题讨论】:

  • fetch 是一个 AJAX 调用,因此您必须使用它的回调或事件之一。

标签: backbone.js coffeescript backbone-views


【解决方案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 并且不复制任何内容。

【讨论】:

    猜你喜欢
    • 2013-12-16
    • 2012-08-30
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多