Vue


事件处理

<h4>内联事件处理器:</h4> <pre><code class="language-javascript">&amp;lt;button @click=&amp;quot;num++&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; let num = ref(1)</code></pre> <hr /> <h4>方法事件处理器:</h4> <pre><code class="language-javascript">&amp;lt;button @click=&amp;quot;btnclick&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; let num = ref(1) const btnclick = () =&amp;gt; {   num.value++ }</code></pre> <p>默认传入 event 参数:</p> <pre><code class="language-javascript">&amp;lt;button @click=&amp;quot;btnclick&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; const btnclick = (e) =&amp;gt; {   console.log(e) }</code></pre> <p>如果想传多参数,event参数要写 $event:</p> <pre><code class="language-javascript">&amp;lt;button @click=&amp;quot;btnclick('Andy',$event)&amp;quot;&amp;gt;点击&amp;lt;/button&amp;gt; const btnclick = (name, e) =&amp;gt; {   console.log(name)   console.log(e) }</code></pre> <hr /> <h4>鼠标按键修饰符:</h4> <pre><code class="language-javascript">&amp;lt;div class=&amp;quot;red&amp;quot; @click.left=&amp;quot;redLeftClick&amp;quot; @click.right=&amp;quot;redRightClick&amp;quot; @click.middle=&amp;quot;redMiddleClick&amp;quot;&amp;gt; &amp;lt;div class=&amp;quot;blue&amp;quot; @click.left=&amp;quot;blueLeftClick&amp;quot; @click.right=&amp;quot;blueRightClick&amp;quot; @click.middle=&amp;quot;blueMiddleClick&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt; const redLeftClick = () =&amp;gt; {   console.log('redLeftClick') } const blueLeftClick = () =&amp;gt; {   console.log('blueLeftClick') } const redRightClick = () =&amp;gt; {   console.log('redRightClick') } const blueRightClick = () =&amp;gt; {   console.log('blueRightClick') } const redMiddleClick = () =&amp;gt; {   console.log('redMiddleClick') } const blueMiddleClick = () =&amp;gt; {   console.log('blueMiddleClick') }</code></pre> <p><img src="https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=52c8899dfd0ab53395f7439a86cab52d&amp;amp;file=file.png" alt="" /> 遵循冒泡原则</p> <hr /> <h4>事件修饰符:</h4> <p>.stop</p> <pre><code class="language-javascript">//阻止冒泡,执行到 blueClick 就结束了 &amp;lt;div class=&amp;quot;red&amp;quot; @click=&amp;quot;redClick&amp;quot;&amp;gt; &amp;lt;div class=&amp;quot;blue&amp;quot; @click.stop=&amp;quot;blueClick&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;</code></pre> <p>.self</p> <pre><code class="language-javascript">//当前元素本身被点击事件时才执行   &amp;lt;div class=&amp;quot;red&amp;quot; @click.self=&amp;quot;redClick&amp;quot;&amp;gt;     &amp;lt;div class=&amp;quot;blue&amp;quot; @click=&amp;quot;blueClick&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;   &amp;lt;/div&amp;gt;</code></pre> <p>.once</p> <pre><code class="language-javascript">//当前元素只被调用一次,listener 会在被调用之后移除   &amp;lt;div class=&amp;quot;red&amp;quot; @click=&amp;quot;redClick&amp;quot;&amp;gt;     &amp;lt;div class=&amp;quot;blue&amp;quot; @click.once=&amp;quot;blueClick&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;   &amp;lt;/div&amp;gt;</code></pre> <p>.capture</p> <pre><code class="language-javascript">//事件捕获,先捕获再冒泡,先执行redClick,再执行blueClick   &amp;lt;div class=&amp;quot;red&amp;quot;&amp;gt;     &amp;lt;div class=&amp;quot;blue&amp;quot; @click=&amp;quot;blueClick&amp;quot; @click.capture=&amp;quot;redClick&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;   &amp;lt;/div&amp;gt;</code></pre> <hr /> <h4>键盘按键修饰符:</h4> <pre><code class="language-javascript">&amp;lt;input @keydown=&amp;quot;btnclick&amp;quot; @keyup=&amp;quot;btnclick&amp;quot; /&amp;gt; const btnclick = (e) =&amp;gt; {   console.log(e) }</code></pre>

页面列表

ITEM_HTML