vue事件处理器

梦里梦外; 2022-11-21 09:53 272阅读 0赞

vue事件处理器

事件处理的时候,v-on,监听DOM事件,在运行的时候运行js的代码。

事件监听:v-on

  1. <body>
  2. <div id="app">
  3. <button v-on:click="counter+=1">点我</button>
  4. <p>这个按钮被点击了{
  5. {counter}}次</p>
  6. </div>
  7. <script>
  8. var vm = new Vue({
  9. el:'#app',
  10. data:{
  11. counter:0
  12. }
  13. })
  14. </script>
  15. </body>

通常,我们使用一个方法,调用js的方法,我们还可以使用v-on接受一个定义的方法:

  1. <body>
  2. <div id="app">
  3. <!--greet时我们定义的方法-->
  4. <button v-on:click="greet">点我</button>
  5. </div>
  6. <script>
  7. var vm = new Vue({
  8. el:'#app',
  9. data:{
  10. name:'vue.js'
  11. },
  12. //method对象中定义方法
  13. methods:{
  14. greet:function(){
  15. alert('hello'+this.name)
  16. }
  17. }
  18. })
  19. </script>
  20. </body>

事件的修饰符:

v-on指令缩写@ (v-on:click == @click)

处理DOM事件细节,vue通过(.)表示的指令后缀来调用修饰符

.stop 阻止单击事件冒泡

.prevent 提交事件不再重载页面

.capture 添加事件侦听器的时候使用事件捕获模式

.self 在该元素本身触发时(不是子元素)触发回调

.once click事件只能点击一次 (2.14版本新增)

按键修饰符

vue允许v-on在监听键盘事件的时候,添加按键修饰符

v-on:keyCode @keyUP

.enter

.tab

.up

.left

.alt

.mate

vue.js表单

我们早介绍表单的时候,首先回顾一下双向绑定

v-model指令在表单元素上创建双向数据绑定

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PgBMtgXf-1604129049371)(C:\Users\DELL\AppData\Local\Temp\1564625799276.png)]

v-model会根据控件类型自动的选取正确的方法更新元素

输入框

  1. <body>
  2. <div id="app">
  3. <p>input元素</p>
  4. <input v-model="message">
  5. <p>消息{
  6. {message}}</p>
  7. <p>textarea 元素</p>
  8. <textarea v-model="message2"></textarea>
  9. <p style="white-space: pre">{
  10. {message2}}</p>
  11. </div>
  12. <script>
  13. var vm = new Vue({
  14. el:'#app',
  15. data:{
  16. message:'亲爱的,热爱的',
  17. message2:'古诗词'
  18. }
  19. })
  20. </script>
  21. </body>

单选按钮

  1. <body>
  2. <div id="app">
  3. <input type="radio" id="runoob" value="林志玲" v-model="picked">
  4. <!--label可以把光标转移到对应的元素上-->
  5. <label for="runoob">林志玲</label>
  6. <br>
  7. <input type="radio" id="google" value="迪丽热巴" v-model="picked">
  8. <label for="google">迪丽热巴</label>
  9. <br>
  10. <span>选中值为: {
  11. { picked }}</span>
  12. </div>
  13. <script>
  14. new Vue({
  15. el: '#app',
  16. data: {
  17. picked : '空'
  18. }
  19. })
  20. </script>
  21. </body>

复选框

  1. <body>
  2. <div id="app">
  3. <p>单个复选框</p>
  4. <input type="checkbox" id="checkbox" v-model="checked" />
  5. <label for="checkbox">{
  6. {checked}}</label>
  7. <p>多个复选框</p>
  8. <input type="checkbox" id="a" v-model="checkedName" value="方天画戟"/>
  9. <label for="a">方天画戟</label>
  10. <input type="checkbox" id="b" v-model="checkedName" value="青龙偃月"/>
  11. <label for="b">青龙偃月</label>
  12. <input type="checkbox" id="c" v-model="checkedName" value="丈八蛇矛"/>
  13. <label for="c">丈八蛇矛</label>
  14. <span>最终选定的而武器:{
  15. {checkedName}}</span>
  16. </div>
  17. <script>
  18. new Vue({
  19. el:'#app',
  20. data:{
  21. checked:true,
  22. checkedName:[]
  23. }
  24. })
  25. </script>
  26. </body>

select列表

  1. <body>
  2. <div id="app">
  3. <select v-model="selected" name="fruit">
  4. <option value="">选择人物</option>
  5. <option value="亚瑟">战士</option>
  6. <option value="靳柯">刺客</option>
  7. </select>
  8. <div id="output">
  9. 选择的人物是: {
  10. {selected}}
  11. </div>
  12. </div>
  13. <script>
  14. new Vue({
  15. el: '#app',
  16. data: {
  17. selected: ''
  18. }
  19. })
  20. </script>
  21. </body>

修饰符:

.lazy

在默认的情况下,v-model在input事件中同步输入框的值与数据,如果输入.lazy,转变在change事件中同步

.number

将用户输入的值,自动转换为number类型

.trim

自动过滤输入两端的空格

回顾:

监听事件:v-on (两种方法)

表单的使用 v-model

修饰符

作业:

1、事件监听两种方法熟练掌握

  1. ## 修饰符:
  2. .lazy
  3. 在默认的情况下,v-modelinput事件中同步输入框的值与数据,如果输入.lazy,转变在change事件中同步
  4. .number
  5. 将用户输入的值,自动转换为number类型
  6. .trim
  7. 自动过滤输入两端的空格
  8. ## 回顾:
  9. 监听事件:v-on (两种方法)
  10. 表单的使用 v-model
  11. 修饰符
  12. ## 作业:
  13. 1、事件监听两种方法熟练掌握
  14. 2、输入框的使用

发表评论

表情:
评论列表 (有 0 条评论,272人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Vue.js事件处理器

    事件监听: v-on指令进行事件监听。v-on需要参数,参数为事件类型。如click、change等。 1:直接操纵属性 <div id="app> <button v