vue基础语法(2)

简介: 今天叶秋学长带领大家学习VUE基础语法,废话不多说,赶快跟着学习吧~~一、绑定事件1.使用v-on绑定格式v-on:事件类型 = "函数名"简写@事件类型 = "函数名"2.参数问题没有参数,省略小扩号绑定函数默认有一个事件对象,写$event当参数3.事件修饰符(1)阻止事件冒泡:• @事件类型.stop• 事件中调用event.stopPropagation()(2)阻止默认事件:• @事件类型.prevent• 事件中调用event.preventDefault()(3).once 一次性事件 只做一次的事件(4).enter 回车事件 (http

今天叶秋学长带领大家学习VUE基础语法,废话不多说,赶快跟着学习吧~~

VUE图片.jpg

一、绑定事件

1.使用

v-on绑定

格式

v-on:事件类型 = "函数名"

简写

@事件类型 = "函数名"

2.参数问题

没有参数,省略小扩号

绑定函数默认有一个事件对象,写$event当参数

3.事件修饰符

(1)阻止事件冒泡:

  • @事件类型.stop
  • 事件中调用event.stopPropagation()

(2)阻止默认事件:

  • @事件类型.prevent
  • 事件中调用event.preventDefault()

(3).once 一次性事件

只做一次的事件

(4).enter 回车事件 (https://www.cnblogs.com/zjh-study/p/10656389.html

二、条件判断

vue条件指令可以根据表达式结果来渲染或者销毁组件

1.v-if,v-else-if,v-else

v-if后面表达式为true的时候,对应元素或者组件渲染,否则不渲染

2.v-show

后面表达式或者是值是否是true

区别

v-if:隐藏就是销毁标签,适合做一次的显示隐藏

v-show:隐藏是用display:none,适合于频繁切换

三、遍历循环

1.v-for遍历

格式:

<标签 v-for="(item,index) in 数组">

item:当前遍历值

index:遍历的下标

2.key属性

为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key

key原则上是不能一样的

不建议index,接口数据返回,每一条数据都有一个id

3.数据更新检测

数组的更新需要使用vue提供的方法

  • push():末尾插入
  • pop():末尾删除
  • shift():前面删除
  • unshift():后面删除
  • splice(index,length):删除选中内容
  • sort()排序
  • 升序
    数组.sort(function(a,b){
    return a-b
    })
  • 降序
  • 数组.sort(function(a,b){
    return b-a
    })
  • reverse():反转
  • this.$set(要修改的对象,索引值,修改后的值)

四、表单绑定

1.v-model

vue中使用v-model指令来实现单元素和数据的双向绑定

<divid="app">

   <inputtype="text"v-model="username">

   {{username}}

div>

<script>

   newVue({

       el:"#app",

       data:{

           username:'默认'

       }

   })

script>

2.v-model原理

绑定value,绑定input事件

<divid="app">

   <inputtype="text":value="value"  @input="getValue($event)">

   {{value}}

div>

<script>

   newVue({

       el:"#app",

       data:{

           value:'默认值'

       },

       methods: {

           getValue(e){

               console.log(e.target.value)

               this.value=e.target.value

           }

       },

   })

script>

3.单选和多选的v-model

  • 单选
    v-model绑定普通的一个值

<divid="app">

   <h1>单选h1>

   <formaction="">

       <span>span><inputtype="radio"v-model="sex"value="man">

       <span>span><inputtype="radio"v-model="sex"value="woman">

       {{sex}}

   form>

   <h1>多选h1>

div>

<script>

   newVue({

       el:'#app',

       data:{

           sex:'man'//默认

       }

   })

script>

  • 多选
  • 普通多选
    v-model绑定普通的一个数组
  • 单个多选
    v-model绑定布尔值

<divid="app">

     <inputtype="checkbox"value="01"v-model="hobby"/>运动

     <inputtype="checkbox"value="02"v-model="hobby"/>唱歌

     <inputtype="checkbox"value="03"v-model="hobby"/>跳舞 {{hobby}}

     多选中的单选

     <inputtype="checkbox"v-model="isSelect">{{isSelect?'选择了':'没有选择'}}

   div>

   <script>

     newVue({

       el: "#app",

       data: {

         hobby: [],

         isSelect:false

       },

     });

   script>

4.select的v-model

  • 单选
    v-model绑定普通的一个值

<divid="app">

   <selectname=""id=""v-model="selectData">

       <optionvalue="1">福州option>

       <optionvalue="2">厦门option>

       <optionvalue="3">南京option>

   select>

   {{selectData}}

div>

<script>

   newVue({

       el:"#app",

       data:{

           selectData:1

       }

   })

script>

  • 多选
    v-model绑定普通的一个数组

<divid="app">

   <selectname=""id=""v-model="selectData"multiple>

       <optionvalue="1">福州option>

       <optionvalue="2">厦门option>

       <optionvalue="3">南京option>

   select>

   {{selectData}}

div>

<script>

   newVue({

       el:"#app",

       data:{

           selectData:[]

       }

   })

script>

5.v-model的修饰符

  • number:用户输入值转换成数值类型(输入的得是数字)
  • lazy:输入框输入后要在光标离开或者是按下回车键的时候更新数据
  • trim:过滤用输入首尾空格

<divid="app">

     <inputtype="text"v-model.number="value"/>

     <br/>

     <inputtype="text"v-model.lazy="value"/>

     <br/>

     <inputtype="text"v-model.trim="value"/>

     <br/>

     长度:{{value.length}}

     <br>

      {{typeof value}}---{{value}}

   div>

   <script>

     newVue({

       el: "#app",

       data: {

         value: 1,

       },

     });

   script>


相关文章
|
5天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
5天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
5天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
5天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
4天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
6天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
4天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
|
6天前
|
存储 JavaScript
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
|
11天前
|
JavaScript
Vue基础知识总结 4:vue组件化开发
Vue基础知识总结 4:vue组件化开发
|
11天前
|
存储 JavaScript
Vue 状态管理工具vuex
Vue 状态管理工具vuex