#author("2022-05-12T13:33:44+08:00","default:Admin","Admin")
#author("2022-05-12T13:34:14+08:00","default:Admin","Admin")
[[Vue]]

&color(red){※前提条件:本文基于 Vue 2.0 创作};
#contents

* v-on [#b3d496f9]

 v-on 指令,用于监听 DOM 事件:
v-on 指令,用于监听 DOM 事件:

#codeprettify{{
<a v-on:click="doSomething"> ... </a>

<button v-on:mouseover="overColor" v-on:mouseout="outColor" v-bind:style="color">鼠标经过</button>
}}

#codeprettify{{
<script>
    new Vue({
        el:"#box",
        data:{
            message:"hello,vue",
            color:'color:blue;'
        },
        methods:{
            reverseMessage:function(){
                this.message=this.message.split('').reverse().join('');
            },
            overColor:function(){
                this.color="color:green";
            },
            outColor:function(){
                this.color="color:blue";
            }
        }
    })
</script>
}}

#codeprettify{{
<div id="app">
  <button v-on:click="counter += 1">增加 1</button>
  <p>这个按钮被点击了 \{\{ counter \}\} 次。</p>
</div>
 
<script>
new Vue({
  el: '#app',
  data: {
    counter: 0
  }
})
</script>
}}

** 缩写 [#e9c75d44]

#codeprettify{{
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
}}

** @click.native [#j1364420]

在组件上绑定@click="gaBack"事件,click事件无法触发也不生效,需要通过使用@click.native="gaBack",才能够执行gaBack方法。@click.native只能用在组件

 <Header :headerStr="headerStr" @click.native="gaBack"></Header>


* 事件修饰符 [#kc072b74]

Vue.js 通过由点 . 表示的指令后缀来调用修饰符。

- stop - 阻止冒泡
- prevent - 阻止默认事件
- capture - 阻止捕获
- self - 只监听触发该元素的事件
- once - 只触发一次
- left - 左键事件
- right - 右键事件
- middle - 中间滚轮事件

#codeprettify{{
<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联  -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件侦听器时使用事件捕获模式 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div>

<!-- click 事件只能点击一次,2.1.4版本新增 -->
<a v-on:click.once="doThis"></a>
}}

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS