从anom访问实例变量。咖啡脚本中的功能

时间:2012-05-06 16:47:30

标签: node.js coffeescript

我试图从anom函数访问@cols,即使它被定义,它仍然是未定义的(在倒数第二行)。

csv = require 'csv'

class Inventory

    constructor: (@file) ->
        @cols = {}      

        #Read the file and push to cols
        csv().
        fromPath(@file,columns: true ).
        on 'data', (d,index)->
            #push to cols
            console.log @cols

inventory = new Inventory(__dirname + '/sample.csv')

2 个答案:

答案 0 :(得分:3)

你需要使用胖箭而不是瘦箭。

(d, index)=>

答案 1 :(得分:2)

use =>而不是 - >所以你可以使用@并获得对外部实例的引用

csv = require 'csv'

class Inventory

    constructor: (@file) ->
        @cols = {}      

        #Read the file and push to cols
        csv().
        fromPath(@file,columns: true).
        on 'data', (d,index) =>
            #push to cols
            console.log @cols

inventory = new Inventory(__dirname + '/sample.csv')