我有一个ApplicationController,当“Ember.select”更改值时,我想刷新一些模型。
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')
- 从后端接收模型。但我无法正确刷新“联系”模式。
如果一开始我在模特中有两个联系人。当我尝试更换每个联系人的这两个联系人时,此联系人添加为第三联系人,但我想只获得一个联系人。如何正确刷新“联系”模型?
答案 0 :(得分:0)
then
方法返回Promise,因此请在var contacts = App.controllerFor('contacts').store.find('contact').then(function(result){
self.get('controllers.contacts').set('model', result);
});
方法中执行。
find
目前{{1}}是私有方法。