0


Vue2从基础到实战(指令篇)

案例:动态切换图片

  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. <title>Vue.js 示例</title>
  7. <style>
  8. .box {
  9. border: 3px solid #000000;
  10. border-radius: 10px;
  11. padding: 20px;
  12. margin: 20px;
  13. width: 200px;
  14. }
  15. h3 {
  16. margin: 10px 0 20px 0;
  17. }
  18. p {
  19. margin: 20px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div id="app">
  25. <div class="box">
  26. <button v-show="index > 0" @click="index--">上一页</button>
  27. <div>
  28. <img :src="list[index]" alt="">
  29. </div>
  30. <button v-show="index < 2" @click="index++">下一页</button>
  31. </div>
  32. </div>
  33. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  34. <script>
  35. const app = new Vue({
  36. el: '#app',
  37. data: {
  38. index: 0,
  39. list: [
  40. './imgs/1.png',
  41. './imgs/2.png',
  42. './imgs/3.png'
  43. ]
  44. }
  45. })
  46. </script>
  47. </body>
  48. </html>

实现效果:

v-for

v-for 指令需要使用

  1. (item, index) in arr

形式的特殊语法,其中:

  • item 是数组中的每一项
  • index 是每一项的索引,不需要可以省略
  • arr 是被遍历的数组
  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. <title>Vue.js 示例</title>
  7. <style>
  8. .box {
  9. border: 3px solid #000000;
  10. border-radius: 10px;
  11. padding: 20px;
  12. margin: 20px;
  13. width: 200px;
  14. }
  15. h3 {
  16. margin: 10px 0 20px 0;
  17. }
  18. p {
  19. margin: 20px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div id="app">
  25. <div class="box">
  26. <h3>sx水果店</h3>
  27. <ul>
  28. <li v-for="item in list">
  29. {{ item }}
  30. </li>
  31. </ul>
  32. </div>
  33. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  34. <script>
  35. const app = new Vue({
  36. el: '#app',
  37. data: {
  38. list: ['西瓜','苹果','鸭梨']
  39. }
  40. })
  41. </script>
  42. </body>
  43. </html>

v-for中的key

语法: key="唯一值"

作用:给列表项添加的唯一标识。便于Vue进行列表项的正确排序复用

为什么加key:Vue 的默认行为会尝试原地修改元素(就地复用

  1. <ul>
  2. <li v-for="(item, index) in booksList" :key="item.id">
  3. <span>{{ item.name }}</span>
  4. <span>{{ item.author }}</span>
  5. <button @click="del(item.id)">删除</button>
  6. </li>
  7. </ul>

v-model

双向绑定指令:

  1. 数据改变后,呈现的页面结果会更新
  2. 页面结果更新后,数据也会随之而变

作用:表单元素(input、radio、select)使用,双向绑定数据,可以快速 获取设置 表单元素内容

语法:v-model="变量"

  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. <title>Vue.js 示例</title>
  7. <style>
  8. .box {
  9. border: 3px solid #000000;
  10. border-radius: 10px;
  11. padding: 20px;
  12. margin: 20px;
  13. width: 200px;
  14. }
  15. h3 {
  16. margin: 10px 0 20px 0;
  17. }
  18. p {
  19. margin: 20px;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div id="app">
  25. <div class="box">
  26. 账户: <input type="text" v-model="username"> <br><br>
  27. 密码:<input type="password" v-model="password"> <br><br>
  28. <button @click="login">登录</button>
  29. <button @click="reset">重置</button>
  30. </div>
  31. </div>
  32. <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
  33. <script>
  34. const app = new Vue({
  35. el: '#app',
  36. data: {
  37. username: '',
  38. password: ''
  39. },
  40. methods: {
  41. login() {
  42. alert(`用户名: ${this.username}\n密码: ${this.password}`);
  43. },
  44. reset() {
  45. this.username = '';
  46. this.password = '';
  47. }
  48. }
  49. })
  50. </script>
  51. </body>
  52. </html>
  • <input type="text" v-model="username">: 使用 v-model 双向绑定输入框的值与 Vue 实例中的 username 数据。
  • <input type="password" v-model="password">: 使用 v-model 双向绑定输入框的值与 Vue 实例中的 password 数据。
  • <button @click="login">登录</button>: 绑定点击事件处理器 login 方法。
  • <button @click="reset">重置</button>: 绑定点击事件处理器 reset 方法。
  • data: 定义了组件的数据,包含 usernamepassword
  • methods: 定义了组件的方法。 - login(): 当用户点击“登录”按钮时,会弹出一个包含用户名和密码的警告框。- reset(): 当用户点击“重置”按钮时,会清空用户名和密码输入框

标签: vue.js html5 前端

本文转载自: https://blog.csdn.net/m0_66011019/article/details/140755022
版权归原作者 元气满满的热码式 所有, 如有侵权,请联系我们删除。

“Vue2从基础到实战(指令篇)”的评论:

还没有评论