Blogger Information
Blog 48
fans 3
comment 1
visits 30317
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
vue基本语法与指令
吴长清
Original
356 people have browsed it

vue基本语法与指令

序号 语法/指令 描述
1 Vue.createApp 创建vue实例
2 data 存放vue中的所有变量
3 return 返回需要用到的数据
4 mount(ele) 挂载,将vue创建的实例挂载到页面元素(ele)中
5 v-text 只能得到html标签中的文本内容,类似js中textContent
6 v-html 可解析html标签,类似js中innerHTML
7 v-bind 应用于样式绑定,高频指令,可用冒号:表示
8 v-on vue的事件指令,高频指令,可用@表示
9 v-model 应用于数据的双向绑定
10 obj.lazy lazy修饰符,类似js中 blur事件与change事件相结合

实例演示

  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>vue基本语法与指令</title>
  8. <!-- 引入vue.js -->
  9. <script src="vue.js"></script>
  10. <style>
  11. .bgc {
  12. background-color: lightgreen;
  13. }
  14. .color {
  15. color: lightcoral;
  16. }
  17. .box {
  18. display: block;
  19. margin-top: 2px;
  20. border: 1px solid;
  21. border-radius: 5px;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div class="app">
  27. <!-- vue中变量使用插值填充 -->
  28. <h4>{{msg1}}</h4>
  29. <h4>{{msg2}}</h4>
  30. <!-- 使用v-text动态生成值 -->
  31. <span v-text="message"></span>
  32. <br />
  33. <!-- 使用v-html动态生成值 -->
  34. <span v-html="messageHTML"></span>
  35. <hr />
  36. <!-- v-bind样式绑定 以数组方式绑定-->
  37. <span v-bind:class="cssArr">Hello World</span>
  38. <!-- v-bind样式绑定 以对象方式绑定 简化v-bind为冒号-->
  39. <span :class="cssObj">Hello World</span>
  40. <!-- v-bind样式绑定 是否使用该样式 默认启用 反之禁用-->
  41. <span :class="{bgc:isBgc}">Hello World</span>
  42. <br />
  43. <!-- 数据双向绑定 -->
  44. <!-- v-on: vue的事件指令 可简化为@表示 -->
  45. <!-- @input : input事件,实时监听input值得变化-->
  46. <!-- :v-tetx : 将当前input的value值动态绑定给context变量 -->
  47. <input type="text" @input="context = $event.target.value" :v-tetx="context" />
  48. <span>{{context}}</span>
  49. <!-- v-model 数据双向绑定 -->
  50. <hr />
  51. <!-- 数据双向绑定 使用v-model简化 -->
  52. <!-- v-model="contextModel"===@input="contextModel = $event.target.value" -->
  53. <input type="text" v-model="contextModel" :v-tetx="contextModel" />
  54. <span>{{contextModel}}</span>
  55. <hr />
  56. <!-- 延迟绑定:修饰符 -->
  57. <!-- lazy:失去焦点时改变值 blur事件 change事件相结合-->
  58. <input type="text" v-model.lazy="contextLazy" :v-text="contextLazy" />
  59. <span>{{contextLazy}}</span>
  60. </div>
  61. <script>
  62. // Vue.createApp: 创建vue实例
  63. // data: 存放vue中的所有变量
  64. // return: 返回需要用到的数据
  65. // mount(ele): 挂载,将vue创建的实例挂载到页面元素(ele)中
  66. const app = Vue.createApp({
  67. data() {
  68. return {
  69. msg1: "这是vue插值",
  70. msg2: "这是vue插值",
  71. message: "使用v-text动态生成值",
  72. messageHTML: '<i style="color:red">v-html指令</i>',
  73. cssArr: ["bgc", "color", "box"],
  74. cssObj: {
  75. bgc: "bgc",
  76. color: "color",
  77. box: "box",
  78. },
  79. // 禁用‘.bgc的样式’
  80. bgc: "bgc",
  81. isBgc: false,
  82. context: "",
  83. contextModel: "",
  84. contextLazy: "",
  85. };
  86. },
  87. }).mount(".app");
  88. // 数据注入: 数据自动注入到了vue实例中 可以通过$data来使用
  89. console.log(app.$data.msg1);
  90. // 数据注入:因为数据已经被绑定到vue实例的app对象 所有可以以属性的方式老获取变量
  91. console.log(app.msg1);
  92. // 响应式更新变量
  93. app.msg2 = "响应式更新变量";
  94. </script>
  95. </body>
  96. </html>

vue的两个插件

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post