2017-03-17 3 views
2

나는 초보자이다.경로에서 구성 요소로 데이터를 보내는 방법은 무엇입니까?

경로에서 구성 요소로 데이터를 보내려고합니다.

import Ember from 'ember'; 
var model = null; 
export default Ember.Route.extend({ 
    model() { 
     return true; 
    } 
}); 

경로에서이 모델을 정의했으며 구성 요소 js 파일에서이 모델을 사용하려고합니다. 콘솔 로그 만했지만 정의되지는 않았습니다. 내 구성 요소 JS 코드는 그래서 누군가가 구성 요소 경로의 데이터를 사용하는 실제 방법입니다 무엇을 제안 할 수

import Ember from 'ember'; 
export default Ember.Component.extend({ 
    didInsertElement() { 
     console.log(model); 
    } 
}); 

이하입니다. 당신의 model 뜻이 true을 포함, 그래서 당신은 당신이 템플릿에 전달하는 데 필요한 데이터를 반환

답변

4

은, 당신이 model을 사용하고 액세스 할 수있는 템플릿 내부

import Ember from 'ember'; 
export default Ember.Route.extend({ 
    model() { 
     //here return model data which requires to display template 
     return true; 
    } 
}); 

,이 경우 당신은 진정한 보냈다.

이 모델을 구성 요소에 전달하면 구성 요소에서이 모델에 액세스 할 수 있습니다. 내부 template.hbs,

{{my-component model=model }} 

당신은 구성 요소 모델 속성에 액세스 할 수 있습니다, 엠버에

import Ember from 'ember'; 
export default Ember.Component.extend({ 
    didInsertElement() { 
     console.log('Model ',this.get('model')); 
    } 
}); 

에 오신 것을 환영합니다. ember guides을 읽고 ember-twiddle을 가지고 놀 것을 강력히 권장합니다.

1

템플릿에서 구성 요소로 데이터를 전달해야합니다. 즉 경로의 템플릿에서 원하는 모델 (모델)을 해당 모델로 전달해야합니다. 간단한 데모는 다음 twiddle을 참조하십시오.

이 예에서, index 경로는 model 후크에서 json 객체 (이름이 & 성을 가진 객체)를 반환합니다. 이 모델 후크에서 반환되는 내용은 index.hbs 템플릿 파일 object 속성으로 전달됩니다. 그러면 컴포넌트의 js 및 hbs 파일 내에서 해당 데이터에 쉽게 액세스 할 수 있습니다. 이 예에서; 데이터는 my-component.hbs 템플릿 파일 내에 표시됩니다. 희망은 분명하다.

관련 문제