【问题标题】:Coffeescript class object in array数组中的 Coffeescript 类对象
【发布时间】:2013-05-15 15:11:20
【问题描述】:

我有一些具有一些功能和属性的类

exports.textareaWidget = class textareaWidget extends Widget
name = null    
getHtml: ->
        this.generateHtml(widgetHtml)

然后我创建一个对象并添加到数组中:

    obj = new w.textareaWidget()
    obj.name = "msgBody"
    console.log obj.getHtml() # works
    arr.push(obj)
# getting from arr
for field in arr
  result = result + field.getHtml()

当我想从数组中获取它时,我可以访问属性(名称),但我不能访问函数(getHtml)。为什么以及如何使它工作? 错误:

TypeError: Object #<Object> has no method 'getHtml'

【问题讨论】:

  • When I want to get it from array 我们可以看到那个代码部分吗?
  • name = nullgetHtml: -&gt; 中缺少标识。像这样,这些语句不是类定义的一部分!
  • 这也很难诊断,因为您没有访问分配给 i 的名称,因此创建了一个新属性...

标签: javascript coffeescript


【解决方案1】:

您可能的意思是缩进 namegetHtml 定义:

exports.textareaWidget = class textareaWidget
  name: null    
  getHtml: ->
        this.generateHtml(widgetHtml)

【讨论】:

    猜你喜欢
    • 2020-08-12
    • 2014-06-06
    • 2012-08-27
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2012-02-20
    相关资源
    最近更新 更多