我有这样的路线:
App.RandomThingRoute = Ember.Route.extend({
model: function() {
return App.Thing.find("random");
}
});
这需要一趟/things/random
API端点。
我在控制器中还有一个操作:
App.RandomThingController = Ember.ObjectController.extend({
displayRandomThing: function() {
return this.content.reload();
}
});
它会重新加载模板中的随机内容。
我刚刚开始使用 Ember.js(或任何 MVC 前端框架),我有一些疑问/疑问:
- 首先:这是正确的做事方式吗(
this.content.reload()
)?
- 我的 API 端点接受
old_thing
参数允许获取与当前显示的不同的随机内容:/things/random?old_thing=Something
。在 Ember.js 中实现这一点的最惯用/正确的方法是什么?如何通过这个old_thing
to find()
and reload()
?我应该使用此处建议的视图吗:在 EmberJS 中从模板检索数据的首选方法 https://stackoverflow.com/questions/11138389/preferred-way-to-retrieve-data-from-a-template-in-emberjs ?
我很难找到一些有关的文档ember-data
(一切都感觉过时了)。
1 - 我宁愿在控制器中以这种方式重新加载内容:
reloadContent: function(){
this.set('content', App.Thing.find("random"));
}
2 - 如果您想将参数传递给 GET(假设您使用的是 RESTAdapter),您可以使用哈希来传递它们。
App.Thing.find({old_thing: 'oldThing');
但这里有一些“可疑”的东西。 Model.find 需要一个 id 或一个哈希值。你的“随机”感觉都不像。
我不知道当您指定 Id 时是否可以发送参数,就像您指定“随机”一样。这种感觉有点不对,因为您已经指定要获取单个项目,但同时也发送哈希值来过滤项目。 (这不是你的意图)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)