博客列表 >vue基本语法与指令

vue基本语法与指令

吴长清
吴长清原创
2022年08月04日 16:10:10355浏览

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的两个插件

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议