• vue考核点示例(仅供参考)


    vue考核示例

    一、环境

    考试压缩包提供:antd.min.css、antd.min.js、vue.min.js。

    二、编码需求:

    1、登录页面(20分)

    需要完成账号密码登录,并且需要有账号密码判断,只有账号输入【admin】密码输入【123456】的时候可以登录成功,否则显示【账号或密码错误】。

    2、数据操作页面(75分)

    需要完成table表的增删查操作

    1)、通过【table】与【a-input】标签完成添加信息的模块(15分,少一部分扣3分)

    2)、通过【a-input】与【computed】完成中间搜索框的模块样式与操作(15分,样式5,搜索10分)

    关键字【_this】【filter】【indexOf】

    3)、通过【table】与【v-for】完成表格的信息展示(15分)

    关键字【item,index】 

    4)、添加功能(20分,绑定函数5分、非空判断5分,非空提示3分,添加7分)

    5)、删除功能(10分,按钮样式3分,删除提示3分,功能4分)

    已删除

    3、变量与编码规范(5分)

    三、提交

    按照【班级_学号_姓名】的方式压缩【项目】,需要压缩内容包括:

    以及编码文件:

    完整编码示例

    直接导入即可使用:

    login.html

    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. <link rel="stylesheet" href="css/antd.min.css">
    9. </head>
    10. <body>
    11. <div id="app">
    12. <fieldset style="text-align: center;">
    13. <legend>登录框</legend>
    14. <table align="center">
    15. <tr>
    16. <td>账号:</td>
    17. <td>
    18. <a-input type="text" v-model="userName" placeholder="请输入账号"/>
    19. </td>
    20. </tr>
    21. <tr>
    22. <td>密码:</td>
    23. <td>
    24. <a-input type="password" v-model="passWord" placeholder="请输入密码"/>
    25. </td>
    26. </tr>
    27. <tr>
    28. <td colspan="2">
    29. <a-button type="primary" v-on:click="submit">登录</a-button>
    30. </td>
    31. </tr>
    32. </table>
    33. </fieldset>
    34. </div>
    35. <script src="js/vue.min.js"></script>
    36. <script src="js/antd.min.js"></script>
    37. <script>
    38. new Vue({
    39. el:"#app",
    40. data:{
    41. userName:"",
    42. passWord:""
    43. },
    44. computerd:{
    45. },methods:{
    46. submit:function(){
    47. if(this.userName=="admin"&&this.passWord=="123456"){
    48. window.location.href="index.html";
    49. }else{
    50. this.$message.error("账号或密码错误");
    51. }
    52. }
    53. }
    54. });
    55. </script>
    56. </body>
    57. </html>

    index.html

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
    7. <title>Document</title>
    8. <link rel="stylesheet" href="css/antd.min.css">
    9. </head>
    10. <body>
    11. <!-- 视图层 -->
    12. <div id="app">
    13. <table align="center">
    14. <tr>
    15. <td>编号: </td>
    16. <td><a-input type="text" placeholder="请输入编号" v-model="id" /></td>
    17. <td>姓名: </td>
    18. <td><a-input type="text" placeholder="请输入姓名" v-model="name" /></td>
    19. </tr>
    20. <tr>
    21. <td>价格:</td>
    22. <td><a-input type="text" placeholder="请输入薪水" v-model="price" suffix="元"/></td>
    23. <td>性别:</td>
    24. <td>
    25. <a-radio-group v-model="sex">
    26. <a-radio :value="1"></a-radio>
    27. <a-radio :value="0"></a-radio>
    28. </a-radio-group>
    29. </td>
    30. </tr>
    31. <tr>
    32. <td colspan="4">
    33. <a-button block type="primary" v-on:click="addInfo">添加信息</a-button>
    34. </td>
    35. </tr>
    36. </table>
    37. <hr/>
    38. <p><a-input type="text" placeholder="请输入搜索内容" v-model="SelectKey" /></p>
    39. <hr/>
    40. <table style="width: 100%;text-align: center;" border="1">
    41. <tr>
    42. <th> 编号 </th>
    43. <th> 姓名 </th>
    44. <th> 薪水 </th>
    45. <th> 性别 </th>
    46. <th> 操作 </th>
    47. </tr>
    48. <tr v-for="(item,index) in newlist">
    49. <td>{{item.id}}</td>
    50. <td>{{item.name}}</td>
    51. <td>{{item.price}}</td>
    52. <td>{{item.sex==0?"女":"男"}}</td>
    53. <td><a-button type="primary" v-on:click="del(index)">删除</a-button></td>
    54. </tr>
    55. </table>
    56. </div>
    57. <script src="js/vue.min.js"></script>
    58. <script src="js/antd.min.js"></script>
    59. <script>
    60. new Vue({
    61. el: "#app",
    62. data: {
    63. list: [{
    64. id: 1,
    65. name: "王语嫣",
    66. price: 12000,
    67. sex: 0
    68. }, {
    69. id: 2,
    70. name: "小龙女",
    71. price: 9000,
    72. sex: 0
    73. }, {
    74. id: 3,
    75. name: "紫霞",
    76. price: 8000,
    77. sex: 0
    78. }, {
    79. id: 4,
    80. name: "赵灵儿",
    81. price: 5000,
    82. sex: 0
    83. }, {
    84. id: 5,
    85. name: "杨过",
    86. price: 15000,
    87. sex: 1
    88. }],
    89. SelectKey: "",
    90. id: 0,
    91. name: "",
    92. price: 0,
    93. sex: 1
    94. },
    95. computed: {
    96. newlist: function() {
    97. var _this = this;
    98. return _this.list.filter(function(o) {
    99. return o.name.indexOf(_this.SelectKey) != -1;
    100. });
    101. }
    102. },
    103. methods: {
    104. addInfo: function() {
    105. if(this.id==0){
    106. this.$message.info('编号不正确');
    107. return;
    108. }
    109. if(this.name==0){
    110. this.$message.info('请输入姓名');
    111. return;
    112. }
    113. if(this.price==0){
    114. this.$message.info('请输入工资');
    115. return;
    116. }
    117. this.list.push({
    118. id: this.id,
    119. name: this.name,
    120. price: this.price,
    121. sex: this.sex
    122. });
    123. },
    124. del: function(o) {
    125. if (confirm('是否删除此行?')) {
    126. this.list.splice(o, 1);
    127. }
    128. }
    129. }
    130. })
    131. </script>
    132. </body>
    133. </html>

  • 相关阅读:
    ERD Online 4.0.3_fix 元数据在线建模(免费、私有部署)
    Navicat导入SQL文件
    Spring Boot DTO 示例 - 实体到 DTO 的转换
    「SpringBoot」03 配置文件
    双向链表C语言版本
    CC4分析
    SHCTF-校外赛道
    Nginx__高级进阶篇
    SpringBoot整合Redis
    经典OJ题:环形节点是否存在!
  • 原文地址:https://blog.csdn.net/feng8403000/article/details/125451632