用户登录

显示单个内容,先去定义一条支持参数的路由 .. 打开 router.js .. 用一下 router.get .. 路由的地址是 /posts/:id ... 后面这个 :id 就是地址里的参数 .. 在控制器里我们可以得到这个参数的值,根据它的值到数据库里查询出对应的数据 ... 这个路由使用 demo 控制器里的 getPost 方法来处理 ..

再打开 demo 这个服务 ... 里面可以定义一个查询单个内容资源的服务 .. 方法的名字是 getPost ... 方法支持一个 id 参数 ... 然后在方法里面,添加一个 post .. await ... 用一下 this.app.mysql 上面的 get ... 数据表的名字是 posts .. 再设置一些参数 .. 添加一个 id ...对应的值就是使用 getPost 这个服务方法的时候传递进来的这个 id 参数的值 ..

最后再 return 一下这个 post ..

在 demo 控制器里需要再添加一个方法 .. 名字是 getPost .... 方法里面添加一个 post ... 用一下 this.ctx.service.demo.getPost 这个服务方法 .. 使用它的时候需要提供一个 id 参数的值 ... 这个参数的值就是在路由地址里面的那个 id 参数的值 ... 它是在 this.ctx.params 里面,名字是 id ..

下面再渲染一个视图 ... await this.ctx.render .. 视图是 posts/show.njk ... 传递一个数据 .. 名字是 post .. 对应的值就是上面的这个 post ..

再去创建一下这个视图 .. app .. view .. posts ... 复制一下 index.njk ... 文件的名字是 show.njk ..

修改一下模板里面的 content 区块里的东西 ... 一个大标题 ... 里面绑定输出一个 post 里面的 title ...

回到浏览器 ... 再预览一下 ...

访问一下 posts/1 ... 页面显示的就是 id 号是 1 的这个 post ... 再试一下 ... 访问一下 posts/2 ... 现在显示的就是 id 号是 2 的这个 post ..

显示单个内容《 Egg.js:企业级应用框架 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点