Ember从另一个控制器刷新模型

时间:2016-11-17 15:40:02

标签: ember.js

我有一个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') - 从后端接收模型。但我无法正确刷新“联系”模式。

如果一开始我在模特中有两个联系人。当我尝试更换每个联系人的这两个联系人时,此联系人添加为第三联系人,但我想只获得一个联系人。如何正确刷新“联系”模型?

1 个答案:

答案 0 :(得分:0)

then方法返回Promise,因此请在var contacts = App.controllerFor('contacts').store.find('contact').then(function(result){ self.get('controllers.contacts').set('model', result); }); 方法中执行。

find

目前{{1}}是私有方法。

相关问题