coffeescript,类未定义变量
coffeescript, class undefined variable.
我不太理解coffeescript中定义实例变量的语法。
这是我的场景:我有一个初始化器和两个类,Calculations
和Controller
,Controller在内部使用Calculations的实例。
这是代码:
初始化程序块
$ ->
calc = new Calculations()
log "initcalc: #{calc}"
tc = new Controller(calc)
tc.initForm()
日志正确打印的位置:initcalc: [object Object]
等级计算定义如下:
class Calculations
constructor: ->
updateFields: ->
log "updateFields"
类控制器定义为:
class Controller
constructor: (calc) ->
initForm: ->
log "calc : #{@calc}"
@calc.updateFields()
初始化器在实例化类之后立即调用init表单,这是它的输出:
calc : undefined trade_class_new.js?body=1:8
Uncaught TypeError: Cannot call method 'updateFields' of undefined
我不明白coffeescript中实例变量的语法如何。
谢谢,
您需要将Controller
构造函数更改为:
constructor: (@calc) ->
否则,它只是获取一个calc
参数,而对它不做任何操作。
控制器构造函数需要是(@calc)而不是(calc)
相关文章:
- Javascript变量未定义,onchange不起作用
- 定义的变量未定义
- 无法弄清楚为什么本机 Promise 变量未定义
- Windows 8 Javascript 疯狂 - 变量未定义
- $rootScope变量未定义
- 变量未定义
- Javascript:TypeError变量未定义
- 变量未定义/超出范围
- javascript变量未定义
- Javascript变量未定义错误
- $scope变量未定义,尽管它是在$watch函数内部设置的
- 类型错误:变量未定义
- AngularJs $http变量未定义
- JQuery:创建扩展返回变量未定义
- d3.js变量未定义,但在Firefox控制台中,它可以工作
- Javascript 中用于上传表单数据的变量未定义
- 节点.js模块级变量未定义
- Node.js req.session 变量未定义
- 错误:AngularJs 变量未定义,当使用 grunt 运行时.(泽泽尔)
- 将字符串拆分为两个变量 - 未定义不是一个函数