저는 Ember.js를 처음 사용하며 Ember.js와 Ember-Data를 프론트 엔드 기술로 사용하는 웹 응용 프로그램을 만들고 있습니다. 독립적 인 모델을 사용하는 페이지에 여러 ember-data 바운드 구성 요소가있을 때 가장 좋은 방법은 무엇인지 이해하려고합니다. 여기 Ember.js 모달 대화 상자의 여러 모델
내가 할 노력하고있어의 종류 :.https://gist.github.com/redrobot5050/6e775f4c5be221cd3c42
(jsbin 내에서이 요점을을 편집 할 수있는 페이지의 링크가있어 어떤 이유로, 나는를 얻을 수 없다 . 모든 데이터가 올바르게 결합 및 범위에 나타납니다,이 템플릿에서
<script type="text/x-handlebars" data-template-name="index">
<p>Options for graphics quality: </p>
<ul>
{{#each item in model}}
<li>{{item.setting}}</li>
{{/each}}
</ul>
<p>Currently Selected: {{model.selectedValue}}</p>
<p>Draw Distance Options:</p>
<ul>
{{#each item in dropdown}}
<li>{{item.distance}}
{{/each}}
</ul>
<p>Currently Selected Distance: {{selectedDistance}}
</p>
{{outlet}}
<button {{action 'openModal' 'modal' model}}>Change Settings</button>
</script>
: 허영의 URL 오프 '공유'URL)
나는 템플릿과 같이가 . 그러나 모달 대화 상자 내에서 수정하려고하면 품질 만 해당 Ember.Select보기에 바인딩됩니다. controller.set을 사용하여 IndexController에서 바인딩을 강제 실행하려고 시도했지만 작동하지 않는 것 같습니다.
내 인 IndexController는 다음과 같습니다 JSBin 정말 내가 할 시도하고 무엇을 보여줍니다
App.IndexRoute = Ember.Route.extend({
model: function() {
var qualityList = this.store.find('quality');
console.log('qualityList=' + qualityList);
return qualityList;
//return App.Quality.FIXTURES;
},
setupController : function(controller, model) {
controller.set('model', model);
var drawDistanceList = this.store.find('drawDistance');
console.log('distanceList=' + drawDistanceList);
controller.set('dropdown', drawDistanceList);
controller.set('selectedDistance', 1);
//this.controllerFor('modal').set('dropdown', drawDistanceList);
}
});
: 나는로드 할/독립적으로 동일한 컨트롤러에서 드롭 다운의 각 바인딩합니다. JSBin은 올바르게 작동하지 않습니다. 왜냐하면이 작업을 수행하는 방법을 알지 못하기 때문입니다. 나는 누군가가이 JSBin을 수정할 수 있는지보고 stackExchange에 게시하여 내가 잘못하고있는 것을 보여 주거나 누군가가 올바른 방향으로 나를 가리킬 수 있다면이 문제를 해결하는 방법을 디자인 방식으로 설명 할 수 있습니까?
(예를 들어, 가능한 해결책은 구성 요소로 드롭 다운을 만들고 해당 컨트롤러를 통해 데이터를로드하거나 상위 컨트롤러의 속성으로 전달할 수 있다고 생각하지만 실제로 무엇이 " 엠버 웨이 ").