当前位置:   article > 正文

vue初使用实例之笔记本

vue初使用实例之笔记本

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title></title>
  7. <meta name="description" content="">
  8. <meta name="viewport" content="width=device-width, initial-scale=1">
  9. <link rel="stylesheet" href="">
  10. <style>
  11. #app{
  12. width: 500px;
  13. margin:200px auto;
  14. border: 1px solid #ccc;
  15. padding: 10px;
  16. border-radius: 10px;
  17. box-shadow: 0 0 10px #ccc;
  18. }
  19. #app h2{
  20. text-align: center;
  21. margin-bottom: 10px;
  22. }
  23. #app ul{
  24. list-style: none;
  25. padding: 0;
  26. margin: 0;
  27. margin-top: 10px;
  28. border-top: 1px solid #ccc;
  29. }
  30. #app li{
  31. padding: 10px;
  32. border-bottom: 1px solid #ccc;
  33. cursor: pointer;
  34. transition: all 0.5s;
  35. background-color: #f5f5f5;
  36. }
  37. #app li:hover{
  38. background-color: #ccc;
  39. }
  40. #app input{
  41. margin-bottom: 10px;
  42. width: 85%;
  43. height: 30px;
  44. }
  45. #app button{
  46. margin-left: 10px;
  47. height: 30px;
  48. }
  49. #app li button{
  50. float: right;
  51. }
  52. </style>
  53. </head>
  54. <body>
  55. <div id="app">
  56. <h2>记事本</h2>
  57. <input type="text" v-model="active" placeholder="请输入内容">
  58. <button @click="add">添加</button>
  59. <ul>
  60. <li v-for="(item,index) in items" :key="item.id">
  61. <span>
  62. {{(index+1)+'.'}}
  63. </span>
  64. {{item.name}}
  65. <button @click="del(item.id)">删除</button>
  66. </li>
  67. </ul>
  68. <div style="margin-top: 10px;">
  69. <span style="margin-left: 10px;">总计:{{items.length}}</span>
  70. <button style="float: right;margin-right: 10px;width: 9%;height: 25px;margin-top: 3px;margin-bottom:2px;" @click="clear">清空</button>
  71. </div>
  72. </div>
  73. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js" ></script>
  74. <script>
  75. var app=new Vue({
  76. el: '#app',
  77. data: {
  78. items: [
  79. {id:1,name:'唱跳'},
  80. {id:2,name:'rap'},
  81. {id:3,name:'篮球'}
  82. ],
  83. active:'',
  84. },
  85. methods:{
  86. add(){
  87. if(this.active){
  88. this.items.push({
  89. id:+new Date(),
  90. name:this.active
  91. })
  92. this.active=''
  93. }
  94. else{
  95. alert('请输入内容')
  96. }
  97. },
  98. del(id){
  99. this.items=this.items.filter(item=>item.id!==id)
  100. console.log(id)
  101. },
  102. clear(){
  103. this.items=[]
  104. }
  105. },
  106. })
  107. </script>
  108. </body>
  109. </html>

这段代码是一个简单的记事本应用,使用Vue.js实现了添加、删除、清空功能。下面逐行解析代码:

  1. &lt;!DOCTYPE html>:声明这是一个HTML文档

  2. &lt;html>:HTML文档的根元素。

  3. &lt;head>:头部元素,用于定义文档的一些元数据,如字符编码、标题、样式表等。

  4. &lt;meta charset="utf-8">:声明文档使用的字符编码为UTF-8。

  5. &lt;meta http-equiv="X-UA-Compatible" content="IE=edge">:告诉IE浏览器使用最新的渲染引擎。

  6. &lt;title>&lt;/title>:文档的标题,这里为空。

  7. &lt;meta name="description" content="">:文档的描述,这里为空。

  8. &lt;meta name="viewport" content="width=device-width, initial-scale=1">:设置文档的视口,使其能够在不同设备上正常显示。

  9. &lt;link rel="stylesheet" href="">:引入样式表,这里为空。

  10. &lt;style>:内部样式表,样式定义在这个标签里。

  11. #app{...}:定义了一个id为app的元素的样式。

  12. &lt;body>:文档的主体部分。

  13. &lt;div id="app">:一个id为app的div元素,这里将作为Vue实例的挂载点。

  14. &lt;h2>记事本&lt;/h2>:一个h2标签,显示标题。

  15. &lt;input type="text" v-model="active" placeholder="请输入内容">:一个文本输入框,使用v-model指令与Vue实例的active属性进行双向绑定。

  16. &lt;button @click="add">添加&lt;/button>:一个按钮,点击时调用Vue实例的add方法。

  17. &lt;ul>:一个无序列表,用于显示记事本条目。

  18. &lt;li v-for="(item,index) in items" :key="item.id">:一个li标签,使用v-for指令遍历Vue实例的items数组,并将每个数组项显示为一个li元素。

  19. &lt;span>{{(index+1)+'.'}}&lt;/span>:一个span标签,显示序号(index+1)。

  20. {{item.name}}:显示每个条目的name属性。

  21. &lt;button @click="del(item.id)">删除&lt;/button>:一个按钮,点击时调用Vue实例的del方法,传入item.id作为参数。

  22. &lt;div style="margin-top: 10px;">:一个div元素,用于显示总计和清空按钮。

  23. &lt;span style="margin-left: 10px;">总计:{{items.length}}&lt;/span>:一个span标签,显示总条目数(items数组的长度)。

  24. &lt;button style="float: right;margin-right: 10px;width: 9%;height: 25px;margin-top: 3px;margin-bottom:2px;" @click="clear">清空&lt;/button>:一个按钮,点击时调用Vue实例的clear方法。

  25. &lt;script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">&lt;/script>:引入Vue.js库。

  26. &lt;script>:内部脚本,JavaScript代码定义在这个标签里。

  27. var app=new Vue({...}):创建一个Vue实例,将其赋值给变量app。

  28. el: '#app':将Vue实例挂载到id为app的元素上。

  29. data: {...}:定义Vue实例的数据对象。

  30. items: [...]:定义一个数组items,用于存储记事本的条目。

  31. active: '':定义一个字符串active,用于存储用户输入的内容。

  32. methods: {...}:定义Vue实例的方法。

  33. add(){...}:add方法,用于向items数组添加一个新的条目。

  34. del(id){...}:del方法,用于删除指定id的条目。

  35. clear(){...}:clear方法,用于清空items数组。

  36. &lt;/script>:脚本结束标签。

整个代码使用Vue.js实现了一个简单的记事本应用,包括添加条目、删除条目、清空条目等功能。使用Vue的数据绑定和方法调用,实现了视图与数据的双向同步。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号