我从数据存储中的 2 个不同位置收集了 1 个字符串,一个 URL 和一个昵称,我想要做的是将这两者结合起来,以便我可以在下拉列表中“预选”。问题是,如果我检查“变量声明”中的值,那么我会收到警告文本结果,但是如果我之后在尝试组合两个字符串时发出警告,我会得到[Object object], [Object object]
相反的结果。出于某种原因,我首先得到对象对象,然后是 URL,然后是昵称,这甚至不是正确的顺序..?代码如下所示:
preSelect: function (orgSiteId, orgId) {
'use strict';
var url = this.get('store').find('orgSite', orgSiteId).then(function (orgSites) {
alert(orgSites.get('url'));
return orgSites.get('url');
}.bind(this));
var nickname = this.get('store').find('org', orgId).then(function (orgs) {
alert(orgs.get('nickname'));
return orgs.get('nickname');
}.bind(this));
this.set('testFillSelect', nickname + ', ' + url);
alert(this.get('testFillSelect'));
},
这是我想使用计算属性或观察者的情况吗?我是 Ember.js 的新手,感觉它应该很简单。
您可以使用Promise.all
:
Promise.all([url, nickname]).then(([urlResult, nicknameResult]) => {
this.set('testFillSelect', nicknameResult + ', ' + urlResult);
});
或者只使用异步函数:
async preSelect (orgSiteId, orgId) {
const orgSite = await this.get('store').find('orgSite', orgSiteId);
const org = await this.get('store').find('org', orgId);
const url = orgSite.get('url');
const nickname = org.get('nickname');
this.set('testFillSelect', nickname + ', ' + url);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句