vue实现发布评论、评论管理

Bertha 。 2022-08-28 04:41 339阅读 0赞

功能要求

1. 实现发布评论功能

2. 实现评论列表的展示

3. 使用 tab 栏切换的方式来实现

4. 需要高亮显示当前 tab 栏对应的导航

参考效果图:

watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5pif5bG_SA_size_20_color_FFFFFF_t_70_g_se_x_16

代码:注意:代码所需vue可以通过npm i vue —save下载,然后引入即可

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
  9. <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css"
  10. integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
  11. <script src="./js/vue.js"></script>
  12. <style>
  13. .wrapissue {
  14. background: #ccc;
  15. padding: 10px;
  16. }
  17. .administration .aa {
  18. margin: 10px;
  19. background: #ccc;
  20. width: 300px;
  21. padding: 10px;
  22. }
  23. .active {
  24. background: skyblue;
  25. color: #fff;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <div id="app" class="container">
  31. <h3 class="text-center text-info">发布与评论</h3>
  32. <div class="form-group">
  33. <button type="button" class="btn" :class="isshow?'':'active'" @click="isshow=false">评论管理</button>
  34. <button type="button" class="btn" :class="isshow?'active':''" @click="isshow=true">发布评论</button>
  35. </div>
  36. <div class="wrapissue col-md-12" v-if="isshow">
  37. <div class="row form-group">
  38. <div class="col-md-4">
  39. <input type="text" class="form-control" placeholder="昵称" v-model="name">
  40. </div>
  41. <div class="col-md-8"></div>
  42. </div>
  43. <div class="row form-group">
  44. <div class="col-md-4">
  45. <input type="text" class="form-control" placeholder="评论内容" v-model="content">
  46. </div>
  47. <div class="col-md-8"></div>
  48. </div>
  49. <div class="row form-group">
  50. <div class="col-md-4">
  51. <button class="btn btn-info" @click="add()">立即提交</button>
  52. </div>
  53. <div class="col-md-8"></div>
  54. </div>
  55. </div>
  56. <div class="administration col-md-12" v-if="!isshow">
  57. <div v-for="item in arr" class="aa">
  58. <p>评论人:{
  59. {item.name}}</p>
  60. <p>评论时间:{
  61. {item.time}}</p>
  62. <p>评论内容:{
  63. {item.content}}</p>
  64. </div>
  65. </div>
  66. </div>
  67. <script>
  68. new Vue({
  69. //挂载点
  70. el: "#app",
  71. //数据
  72. data: {
  73. isshow: true,
  74. arr: sessionStorage.getItem("arr") ? JSON.parse(sessionStorage.getItem("arr")) : [],
  75. name: "",
  76. content: ""
  77. },
  78. //方法
  79. methods: {
  80. add() {
  81. if (this.name == "" && this.content == "") {
  82. alert("昵称内容均不能为空");
  83. return;
  84. }
  85. this.arr.push({
  86. name: this.name,
  87. content: this.content,
  88. time: new Date().toLocaleTimeString()
  89. });
  90. sessionStorage.setItem("arr", JSON.stringify(this.arr));
  91. this.name = "";
  92. this.content = "";
  93. }
  94. }
  95. })
  96. </script>
  97. </body>
  98. </html>

效果图:

8566df67cca84abeb0973b0c8539adfc.gif

发表评论

表情:
评论列表 (有 0 条评论,339人围观)

还没有评论,来说两句吧...

相关阅读