一 、通过拿到动态id加载

1-1 加载页面

在controller 文件夹 新建 detail.js

  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. const {ObjectId} = require("mongodb")
  4. class DetailController extends Controller {
  5. async index() {
  6. var {ctx} = this;
  7. // console.log(ctx.query);
  8. //ctx.params 获取动态路由
  9. console.log(ctx.params);
  10. var {_id} = ctx.params;
  11. var db = this.app.mongodb;
  12. const collection = await db.collection("list215");
  13. //根据找到符合条件的数据
  14. var desc = await collection.find({_id:ObjectId(_id)}).toArray();
  15. console.log(desc);
  16. //显示到页面上
  17. ctx.body = desc
  18. }
  19. }
  20. module.exports = DetailController;

对应路由(动态)

  1. router.get('/detail/:_id', controller.detail.index);

二、通过页面传值 对应 id 加载

1-1 加载页面

在controller 文件夹 新建 detail.js

  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. const { ObjectId } = require("mongodb")
  4. class DetailController extends Controller {
  5. async index() {
  6. const { ctx } = this;
  7. // console.log(ctx.query);
  8. var { _id } = ctx.query;
  9. // console.log(_id);
  10. var db = this.app.mongodb;
  11. const collection = await db.collection('member');
  12. var des = await collection.find({ _id: ObjectId(_id) }).toArray();
  13. // console.log(des);
  14. ctx.body = des;
  15. }
  16. }
  17. module.exports = DetailController;

对应路由

  1. router.get('/detail', controller.detail.index);

通过 home.html 传值

image.png