2014-05-22 5 views
0

핸들 막대 서식 파일에 사용할 사용자 지정 구성 변수를 어떻게 지정합니까? 예를 들어Emberjs 사용자 지정 구성 변수

는 :

// config/settings.json 

{ 
    "title": "Hello World" 
} 

// config/foo.json 
{ 
    "bar": "baz" 
} 

// Template 

{{ settings.title }} 
{{ foo.bar }} 

답변

4

당신은 컨트롤러에 당신에게 전역 변수를 주입하는 의존성 주입을 사용해야합니다. Balint Erdi의 This blog post에서 잘 설명합니다. 설정과 foo는 - Here is a working demo. 이것은 당신이

  • 2 객체를 생성 무엇을 기본적으로.

    var settings = Ember.Object.extend({ 
        title: 'Hello World' 
    }); 
    
    var foo = Ember.Object.extend({ 
        bar: 'baz' 
    }); 
    
  • 응용 프로그램 이니셜 라이저를 사용하여이 두 개체를 컨테이너에 등록하십시오.

    container.register('globals:settings', settings, { singleton: true }); 
    container.register('globals:foo', foo, { singleton: true }); 
    
  • 2 개의 등록 된 개체를 모든 컨트롤러에 삽입하십시오.

    application.inject('controller', 'settings', 'globals:settings'); 
    application.inject('controller', 'foo', 'globals:foo'); 
    

여기 당신은 다음

{{settings.title}} 
으로 템플릿의 값을 참조 할 수 있습니다

Ember.Application.initializer({ 
    name: "globals", 

    initialize: function(container, application) { 
    container.register('globals:settings', settings, { singleton: true }); 
    container.register('globals:foo', foo, { singleton: true }); 

    application.inject('controller', 'settings', 'globals:settings'); 
    application.inject('controller', 'foo', 'globals:foo'); 
    } 
}); 

이니셜 라이저 위의 2 단계에 대한 전체 코드입니다