使用从其他属性分配的默认属性初始化模型

时间:2013-04-08 09:03:15

标签: backbone.js coffeescript

时间模型有两个默认值属性duration和remainingTime,我需要的是,持续时间值将取决于持续时间。

class Time extends Backbone.Model
    defaults:
      duration: 0
      remainingTime: @duration  //This don't work

如何访问持续时间值以将其分配给remainingTime?

PD:此外,我使用Time.duration, Time.defaults.duration, this.duration

进行了测试

2 个答案:

答案 0 :(得分:2)

您无法像这样访问它,因为当评估默认对象时,您的上下文将不是您的对象(而是全局对象)。因此, remainingTime 肯定是未定义的 您可以在 initialize 方法中执行此操作。

答案 1 :(得分:0)

我使用这样的方式:创建一个保持全局变量的js(或咖啡)。所以,它是这样的:

root = @
#and
$ ->
  root.duration # or your other global variables

之后你可以随处调用变量。