博客列表 >1、Vue安装。 2、Vue 基本语法(数据绑定、事件、if、循环)

1、Vue安装。 2、Vue 基本语法(数据绑定、事件、if、循环)

P粉314265155
P粉314265155原创
2022年09月15日 20:07:56400浏览

Vue 基本语法

  1. <template>
  2. <!-- 1、 .vue 后缀的文件,按照vue写法
  3. vue 文件里面有三个标签
  4. 第一个是 template 写 html 代码
  5. 第二个是 script 写js代码
  6. 第三个是 style 写css代码-->
  7. <!-- <nav>
  8. <router-link to="/">Home</router-link> |
  9. <router-link to="/about">About</router-link>
  10. </nav> -->
  11. <!-- <router-view/> -->
  12. <!-- <div style="color:red;">我是小狗</div>
  13. <div style="color:green;">我是{{lh}}</div>
  14. <div style="color:green;">我是{{num}}</div>
  15. <div style="color:green;">我是{{float}}</div>
  16. <div style="color:green;">{{float +num}}</div>
  17. <div>{{fun()}}</div>
  18. <!-- v-on 绑定事件监听 点击确定按钮触发方法 -->
  19. <!-- <div v-on:click="fun">确定按钮</div> -->
  20. <!-- 双向绑定 默认 type 为text-->
  21. <!-- <input v-model="lh" type="text">
  22. <input v-model="lh" type="text"> -->
  23. <!-- 取消双向绑定 -->
  24. <!-- <input v-once="lh" type="text">
  25. <div><input v-once="lh" type="text"></div> -->
  26. <hr>
  27. <!-- <div>{{html}}</div> -->
  28. <br>
  29. <!-- <div v-text="html"></div>
  30. <br>
  31. <div v-html="html"></div> -->
  32. <br>
  33. <!-- <div >{{html}}</div> -->
  34. <!-- <hr> -->
  35. <!-- 动态绑定属性 -->
  36. <!-- 此处是静态的 -->
  37. <!-- <div style="" class=""> 小猪</div> -->
  38. <!-- <a href="" class="index" ref="xiaozhu" >xiaozhu</a> -->
  39. <hr>
  40. <!-- 标签属性变为动态 v-bind -->
  41. <!-- <a v-bind:class="class" href="">小牛</a> -->
  42. <br>
  43. <!-- <a v-bind:class="class2" href="">小龙</a> -->
  44. <br>
  45. <!-- <input type="text" v-model="class2" > -->
  46. <br>
  47. <!-- 语法糖 v-bind (:) v-on (@) -->
  48. <!-- <a v-bind:class="class2" :href="url">小猫</a> -->
  49. <br>
  50. <!-- <input v-model="url"> -->
  51. <!-- <hr> -->
  52. <!-- <button @click="show= !show">点击事件</button>
  53. <button @click="show++ ">点击事件</button> -->
  54. <!-- <div>{{show}}</div> -->
  55. <!-- <hr> -->
  56. <!-- <button @click="fun2()">点击事件</button> -->
  57. </template>
  58. <script>
  59. // export default {
  60. // data() {
  61. // return {
  62. // 此处是 双引号注意
  63. // lh : "小狗",
  64. // num:20,
  65. // float:30.2,
  66. // html : '<span style = "color:gold">我是span标签,没有改变样式</span>',
  67. // 此处是 单引号注意
  68. // class: 'index',
  69. // class2: 'index index-two',
  70. // url:'http:///www.baidu.com',
  71. // show: true,
  72. // show2:1
  73. // }
  74. // },
  75. // methods 配置项 json格式
  76. // methods: {
  77. // // 配置项的方法
  78. // // fun(){
  79. // // console.log(123);
  80. // // },
  81. // // fun2(num){
  82. // // // console.log(456);
  83. // // this.show2 = this.show2 +this.num;
  84. // // console.log(this.show2);
  85. // // this.fun3();
  86. // // },
  87. // // fun3(){
  88. // // console.log("这是方法三");
  89. // // }
  90. // },
  91. // }
  92. // </script>
  93. <style lang="scss">
  94. div{
  95. background: #42b983;
  96. }
  97. .index{
  98. background: red;
  99. }
  100. .index-two{
  101. font-size: 50px;
  102. background: goldenrod;
  103. }
  104. </style>

v-for v-if .self .stop .prevent

  1. <template>
  2. <div>123</div>
  3. <div @click.self="fun()">
  4. 熊爷爷
  5. <!-- .self 只有自身触发 -->
  6. <div @click.self="fun2()">
  7. 熊爸爸
  8. <div @click="fun3()">
  9. 熊孩子
  10. </div>
  11. </div>
  12. </div>
  13. <hr>
  14. <div @click="fun()">
  15. 熊爷爷2
  16. <div @click="fun2()">
  17. 熊爸爸2
  18. <div @click="fun3()">
  19. 熊孩子2
  20. </div>
  21. </div>
  22. </div>
  23. <hr>
  24. <div @click="fun()">
  25. 熊爷爷3
  26. <div @click="fun2()">
  27. 熊爸爸3
  28. <!-- .stop防止冒泡 -->
  29. <div @click.stop="fun3()">
  30. 熊孩子3
  31. </div>
  32. </div>
  33. </div>
  34. <hr>
  35. <!-- 阻止默认事件,比如 a 标签的跳转 -->
  36. <a href="http://www.baidu.com" @click.prevent="fun2()">跳转</a>
  37. <hr>
  38. <div v-if="show">小猫</div>
  39. <div v-if="!show">小狗</div>
  40. <hr>
  41. <!-- 显示的方式 是跟 v-if 一样的 -->
  42. <!-- v-if 值为假的时候,在html中显示的是 \<\!--v-if--\> 有占位符-->
  43. <!-- v-show 是给html标签增加一个 style样式,让它隐藏 display: none; -->
  44. <div v-show="show">小牛</div>
  45. <div v-show="!show">小马</div>
  46. <hr>
  47. <div>
  48. <div>{{arr}}</div>
  49. <li>{{arr}}</li>
  50. <!-- vue 的循环是循环的值,放前面 -->
  51. <!-- in 就相当于 php中的as -->
  52. <!-- 数组在后面,循环的值在前面 -->
  53. <!-- v 是 循环的值, k是下标( 数组是0,对象是 自定义), index 是对象的 0开头的下标 -->
  54. <li v-for="(value,key,index) in arr1">{{value}}--{{key}}--{{index}}</li>
  55. </div>
  56. <hr>
  57. </template>
  58. <script>
  59. export default {
  60. data(){
  61. return {
  62. ouyangke : "欧阳克",
  63. num : 20,
  64. float : 30.2,
  65. html : '<span style="color:gold">span标签</span>',
  66. class : 'index index-two',
  67. url : 'http://www.php.cn',
  68. show : true,
  69. arr: [
  70. "欧阳克",
  71. "朱天蓬",
  72. "灭绝师太"
  73. ],
  74. arr1: {
  75. ouyangke : "欧阳克",
  76. zhutianpeng : "朱天蓬",
  77. miejueshitai : "灭绝师太"
  78. }
  79. }
  80. },
  81. // methods 配置项,json格式
  82. methods : {
  83. // 配置项里的方法
  84. fun(){
  85. // 怎么样在methods里的js里,找到data的数据
  86. // 使用this来指向
  87. // this.show = this.show + num;
  88. // console.log(this.show);
  89. // this.fun2();
  90. console.log('这是方法1');
  91. },
  92. fun2(){
  93. console.log('这是方法2');
  94. },
  95. fun3(){
  96. console.log('这是方法3');
  97. }
  98. }
  99. }
  100. </script>
  101. <style>
  102. div{
  103. background-color: green;
  104. font-size: 25px;
  105. }
  106. .index{
  107. color:aqua;
  108. background-color: blueviolet;
  109. }
  110. .index-two{
  111. font-size: 30px;
  112. }
  113. </style>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议