ember.js 正在使用findRecord获取特定项目

c9qzyr3d  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(121)

我是ember的新手,作为第一个应用程序,我试图建立一个小的网上商店。我可以收到“所有产品”作为产品概述,但不是一个特定的产品的id。
我有以下在路由器.js:

  1. Router.map(function() {
  2. this.route('products');
  3. this.route('product', {path: 'products/:product_id'});
  4. });

我的products.js(它的工作):

  1. import Ember from 'ember';
  2. export default Ember.Route.extend({
  3. model(){
  4. return this.get('store').query('product', {});
  5. }
  6. });

还有product.js(它确实会产生问题):

  1. import Ember from 'ember';
  2. export default Ember.Route.extend({
  3. model(params){
  4. return this.store.findRecord('product', params.product_id);
  5. }
  6. });

该项目在https://github.com/hatchling-shop/hatchling/tree/master/EmberHatchling下可用

jq6vz3qz

jq6vz3qz1#

运行代码后,似乎在Product.findById()中的API中出现了问题,而在Ember中没有。
在下面的方法中:

  1. Product.findById(id, function(id, err, product) {
  2. if (err) {
  3. res.send(err);
  4. }
  5. res.json({product: product});
  6. });

回调中的参数错误,您需要删除id并更改为:

  1. Product.findById(id, function(err, product) {
  2. if (err) {
  3. res.send(err);
  4. }
  5. res.json({product: product});
  6. });

希望这对你有帮助。

展开查看全部

相关问题