2016-11-17 1 views
0

"Ember.select"값을 변경하면 일부 모델을 새로 고치기 위해 ApplicationController가 있습니다.Ember 새로 고침 모델을 다른 컨트롤러에서 사용

App.ApplicationController = Ember.ObjectController.extend({ 
needs: ['abstractAuth', 'widgets', 'modalWindows', 'chatCompose', 'chatModal', 'about', 'contacts'], 
selectedDomainAlias: {}, 
selectedDefaultValue: { Id: 2 }, 

onSelectedDomainAliasChange: function() { 
    var self = this; 
    var getSelectedDomain = this.get("selectedDomainAlias.domainName"); 
    $.get('/SetCookies/Cookies?domains=' + getSelectedDomain, false) 
     .then(function() { 
      self.send("domainChanged"); 
      self.get('model').reload(); 
      var contacts = App.controllerFor('contacts').store.find('contact'); 
      self.get('controllers.contacts').set('model', contacts); 
     }); 
}.observes('selectedDomainAlias.length')}); 

self.send("domainChanged") 제대로 self.get('model').reload() 작동합니다.

또한 새로 고쳐야하는 모델 "연락처"도 있습니다. App.controllerFor('contacts').store.find('contact') - 백엔드에서 모델을받습니다. 하지만 "연락처"모델을 올바르게 새로 고칠 수 없습니다.

처음에는 모델에 두 개의 연락처가 있습니다. 한 연락처에이 두 연락처를 바꾸려고하면이 연락처가 세 번째 연락처로 추가되지만 한 연락처 만 가져오고 싶습니다. "연락처"모델을 올바르게 새로 고칠 수 있습니까?

+1

나는 Ember를 어디에서 배우고 있는지 궁금해. 이 스타일은 약 2 살입니다. –

+0

나는 초보자입니다. 이전 프로젝트에서 엠버의 데이터 변경 –

+0

엠버 데이터 버전을 업데이트하면 좋을 것입니다. – kumkanillam

답변

0

find 메서드는 약속을하므로 then 메서드에서 반환합니다.

var contacts = App.controllerFor('contacts').store.find('contact').then(function(result){ 
self.get('controllers.contacts').set('model', result); 
}); 

현재 find은 개인적인 방법입니다.

관련 문제