gpt4 book ai didi

javascript - ember 应用程序套件,设置其他模型属性

转载 作者:行者123 更新时间:2023-12-03 12:28:06 24 4
gpt4 key购买 nike

找到模型后如何添加其他模型属性? (或者如何在 setupController 中访问路由的参数?

给定路线

   this.resource('gallery', { path:'/gallery/:gallery_id' });

和路由器/routes/gallery.js

export default Ember.Route.extend({
model: function(params) {
return this.store.find('monkeys', { monkeyType: params.gallery_id });
//can I add an additional property to the returned model here?
},

setupController: function(controller, model) {
var pageTitle = 'something related to params.gallery_id';
//can I access route params in here?
this.controllerFor("application").set('pageTitle', pageTitle);
controller.set('model', model);
}
});

理想情况下,我想将应用程序 Controller 上的 pageTitle 属性设置为某个 gallery_id 特定字符串,该字符串不是由 api 服务返回的。

API 根据 url /monkeys?monkeyType=someId 返回以下内容

{ "monkeys":[{ ... }, { ... }] }

最佳答案

也许是这样的?

export default Em.Route.extend({
model: function(params) {
var model = this.store.find('monkeys', { monkeyType; params.gallery_id });

model.then(function(models) {
this.controllerFor('application').set('pageTitle', models.get('firstObject.name'));
}.bind(this));

return model;
}
});

确保您返回的是 model不是then 调用返回的 Promise。 store.find() 返回一个 PromiseArraythen() 仅返回一个 Promise。

关于javascript - ember 应用程序套件,设置其他模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24083460/

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