0
나는 두 개의 클래스, 보유 및 데이터를 관리 한 데이터(커피 스크립트)
module.exports = class Data
constructor:() ->
@stuff =
foo: 42
bar: 'something'
및 다른 파일
module.exports = class Mutator
constructor: (Data) ->
@foo = Data.foo
의 기반으로 의사 결정을하게 하나가 및 주요 파일에
Data = require './Data'
Mutator = require './Mutator'
module.exports = class Main
constructor:() ->
@data = new Data()
@mutator = new Mutator(@data)
제가하는 데 문제는 @data
가 패스포트되는 것처럼 보이지 않는다는 것입니다 이 원인이 될 수있는 것을
console.log @Mutator.foo # 42
@data.foo = '24'
console.log @Mutator.foo # still 42
메인
에 참고d 개의?
@foo = Data.foo
귀하의 Data
이 @data
하지만 @foo
과 동일 Data.foo
단지 값입니다 : 당신이 여기에 Data.foo
값을 꺼내 때
'foo'가 객체'{}'였고'@mutator = new Mutator (@ data.foo)'와 같이 전달한 후'@foo = foo'처럼 설정 했습니까? – Loourr
사람들이 '@data.foo = {x : 6} '대신'@data.foo.x = 6'을 사용하여 참조가 바뀌지 않는 한 말입니다. –