gpt4 book ai didi

ember.js - 获取路线引用数据的最佳地点

转载 作者:行者123 更新时间:2023-12-01 02:15:24 25 4
gpt4 key购买 nike

我有一条需要额外引用数据的路线以及用于下拉菜单等的常规模型。把这个放在哪里最好?我在想也许是 afterModel 钩子(Hook),但我不确定。

afterModel : function(site, transition) {
this.store.find('stuff', {site : site.get('id')});
this.store.find('moreStuff');
}

最佳答案

一般为setupController hook 是执行此操作的合适位置,因为您通常会将此引用数据附加到 Controller 以供在那里使用。不过,您可以通过向 afterModel 返回一个 promise 来阻止转换。钩子(Hook),如果您需要在设置 Controller 之前使用此数据,尽管您需要跟踪路由中的值,然后在 setupController 中手动分配它们.

setupController: function(controller, model){
this._super(controller, model);
controller.set('stuff', this.store.find('stuff', {site : site.get('id')}));
}

或者如果您使用 afterModel
afterModel : function(site, transition) {
var self = this,
store = this.store;
return Em.RSVP.hash({
stuff: store.find('stuff', {site : site.get('id')}),
more: store.find('moreStuff')
}).then(function(hash){
self.set('extraCrap', hash);
});
},

setupController: function(controller, model){
this._super(controller, model);
controller.set('stuff', this.get('extraCrap.stuff'));
}

你也可以看看这个,但一定要阅读第二个答案: EmberJS: How to load multiple models on the same route?

关于ember.js - 获取路线引用数据的最佳地点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25327456/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com