Tôi mới dùng meteor và coffeescript. Tôi đang sử dụng bố cục tệp được đề xuất trong Câu hỏi thường gặp về Meteor không chính thức. Trong bộ sưu tập tập tin/C.coffee, tôi cóTrong thiên thạch 0.6.4.1/coffeescript, mức độ hiển thị biến hoạt động như thế nào?
C = new Meteor.Collection 'C'
console.log "C: #{C}"
trong tập tin máy chủ/main.coffee, tôi có
C.insert {test: 'test'}
Khi tôi bắt đầu sao băng, tôi thấy trên bàn điều khiển:
C: [object Object]
ReferenceError: C is not defined
at app/server/main.coffee.js:5:1
at /home/xxx/yyy/.meteor/local/build/server/server.js:298:12
Làm cách nào để tạo C khả dụng trong các tệp bên ngoài bộ sưu tập/C.coffee?
Cập nhật: Thêm @ to C khắc phục sự cố ở cấp cao nhất. Tuy nhiên nó vẫn không thành công với:
Meteor.methods
test: (statement) ->
@C.insert {test: 'test'}
Nó không thành công với một lỗi TypeError: Cannot call method 'insert' of undefined
http://stackoverflow.com/questions/15831144/global-classes-with-meteor-0-6-0-and-coffeescript Bạn phải sử dụng @ ở phía trước C – Suburbio
Cảm ơn, Subrubio. Bất kỳ đề xuất nào về ví dụ cập nhật của tôi? – Jerry
Bạn chỉ cần sử dụng @/this khi bạn đặt biến toàn cục. – Suburbio