中訪問Coffeescript中的實例屬性,所以我在節點應用程序中使用express。隨着我的應用程序越來越大,我想將我的路線放到額外的文件中。我似乎能夠抓住bugDB,如果我剛剛擺脫中間獲取對象。但是我無法訪問內部對象中的bugDB。有什麼建議麼?也許還有更好的代碼模式可以更好地完成這個任務。在嵌套的
我會appreachate你的幫助。提前致謝。 (由於我不是母語的人我無法找到其他類似的問題,如果你知道如何詞組這個問題比較好,請告訴我的方式:))
BUGROUTER.COFFEE
class BugsRouter
constructor: (@bugDB)-> // instance-variable with databaselink
return
get:{
allBugs: (req, res)=>
console.log "db", @bugDB // this gives me undefined
// is "this" in the get context?
@bugDB.allDocs {include_docs: true}, (err, response)->
res.json 200, response
}
module.exports = BugsRouter
SERVER.COFFEE
BugsRouter = require "./routes/BUGROUTER"
bugsRouter = new BugsRouter(bugDB)
console.log bugsRouter.bugDB # this is working
app.get "/bugs/all", bugsRouter.get.allBugs
由於我不能upvote(儘快我會做):* thumbsup *謝謝你這個徹底的解釋!這對我有很大的幫助。 – Dom
那麼你會建議儘可能避免子對象?我喜歡他們的模塊化 – Gundon
@Gundon你可以使用它們,如果你想,但你必須手動綁定他們的地方,你需要記住綁定他們不是免費的。只是通常的權衡問題。 –