2014-07-10 2 views
1

를 주입하는 단계 I는 엠버 CLI는 (청사진을 생성)를 사용하여 다음 서비스 초기화 생성 : 경로 또는 컨트롤러에 액세스하려고 할 때엠버 CLI는 - 서비스

// services/session.js 
import Ember from 'ember'; 

export default Ember.Object.extend({ 
    loggedIn: false, 

    ... 
}); 

// initializers/session.js 
export default { 
    name: 'session', 
    initialize: function(container, app) { 
    app.inject('route', 'session', 'service:session'); 
    app.inject('controller', 'session', 'service:session'); 
    } 
}; 

하지만, 세션이 정의되지 않는다. 단계가 빠졌습니까?

// routes/application.js 
import Ember from 'ember'; 

export default Ember.Route.extend({ 
    beforeModel: function() { 
     var loggedIn = this.session.get('loggedIn'); // undefined 
     ... 
    } 
}); 

답변

2

주조 서비스 당신은 게터 this.get('session')과 직접적으로 this.session를 통해 그들에 액세스 할 수 있고, 게으른로드됩니다.

또한 인증을 수행하는 경우 Ember-Simple-Auth을 확인하시기 바랍니다.

2

99 % 정확합니다. 세션에 액세스하는 방법에 문제가있는 것처럼 보입니다.

// routes/application.js 
export default Ember.Route.extend({ 
    beforeModel: function() { 
     var loggedIn = this.get('session.loggedIn'); 
    } 
}); 
+0

이 방법을 사용하려고 할 때 아직 정의되지 않습니다. 나는 또한 this.get ('session'). get ('loggedIn')을 성공하지 못했습니다. – csm232s

+0

@ csm232s는'this.get ('session')'이 (가) 정의 되었습니까? –

+0

또한 인증을 수행 중이면 ember-simple-auth를 확인하십시오. –