从骨干中的coffeescript返回一个对象

时间:2012-08-30 22:42:53

标签: javascript function backbone.js coffeescript

我想我错过了一些非常基本的东西。我只是想从coffeescript中获取函数的值。我正在为该值做console.log。

class App.Views.PlotModal extends Backbone.ModalView
  template: JST['plots/plot_modal'],

  render: ->
    console.log(@getSize.w);
    $(@el).html(@template(plot: @model));
    this.showModal();

  getSize: ->
    cell_div = document.getElementById("bgr");
    w : cell_div.offsetWidth * 3;
    h : cell_div.offsetHeight * 2;

当我在firebug中进入控制台时,我一直都未定义。如果我只记录@getSize,我会恢复功能。如何在这里返回变量w和h?

在骨干视图中进行这种操作(我想动态调整iframe)也是一个好主意吗?

1 个答案:

答案 0 :(得分:0)

在CoffeeScript中,这将方法f保留在变量x中作为一个简单的函数:

x = @f

如果你想调用该函数,那么你必须提供参数:

x = @f 'pancakes'

或添加括号:

x = @f()

所以你想要这个:

console.log(@getSize().w)

至于在Backbone中做这种事情,肯定,为什么不呢? Backbone倾向于将政策留给您。