带有操作的前端CRUD路由

时间:2020-02-08 21:05:26

标签: javascript angular reactjs vue.js

因此,假设您要创建一个基本的CRUD todo应用程序。我认为使用Angular,React或Vue路由都没有关系。您会想到这样的路由器设置

  • / todos =>查看所有待办事项
  • / todos /:id =>按ID查看一个待办事项
  • / todos /:id / edit =>按ID编辑一个待办事项
  • / todos / new =>创建一个新的待办事项

因此,您可能已经注意到,由于new将充当ID,因此最后一条路线将无效。

快速解决方案:

我可以根据ID更改顺序,并将创建路线放在其他两条路线之前。但是,如果ID是待办事项标题,则用户将永远无法调用新的待办事项new

下一个快速修复:

我可以在/view之前加上/:id之类的内容。路线看起来像/todos/view/:id/edit

  1. view一词可能会引起误解,因为您要编辑资源
  2. 用户可能希望路由为/todos/:id,因此/todos/.../:id可能会导致糟糕的用户体验

是否有一种通用方法?如果只有在(/todos/.../:id/edit之间插入内容,是否存在一个普通词?

谢谢。

1 个答案:

答案 0 :(得分:1)

一种常见的模式是使用编辑路径来创建ID为0的新项目。尽管更改顺序也可以:

  1. /todos
  2. todos/edit/:id
  3. todos/create
  4. todos/:id