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

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

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

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

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

import Ember from 'ember';

export default Ember.Route.extend({
  model(){
    return this.get('store').query('product', {});
  }
});

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

import Ember from 'ember';

export default Ember.Route.extend({
  model(params){
    return this.store.findRecord('product', params.product_id);
  }
});

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

jq6vz3qz

jq6vz3qz1#

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

Product.findById(id, function(id, err, product) {
    if (err) {
      res.send(err);
    }
    res.json({product: product});
});

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

Product.findById(id, function(err, product) {
    if (err) {
      res.send(err);
    }
    res.json({product: product});
});

希望这对你有帮助。

相关问题