찾다
웹 프론트엔드프런트엔드 Q&Avuejs 이벤트 모니터링을 구현하는 방법

vuejs 이벤트 모니터링을 구현하는 방법

Sep 26, 2021 pm 05:51 PM
vuejs이벤트 청취

vuejs에서는 "v-on" 명령어를 사용하여 이벤트 모니터링을 구현할 수 있습니다. 이 명령어는 이벤트 리스너를 바인딩하는 데 사용됩니다. 레이블 템플릿. JavaScript를 사용하여 트리거될 때 실행되어야 하는 코드를 설정합니다.

vuejs 이벤트 모니터링을 구현하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, vue 버전 2.9.6, DELL G3 컴퓨터.

템플릿 렌더링이 완료된 후 이벤트 바인딩 및 모니터링을 수행할 수 있습니다. v-on 지시문은 DOM 이벤트를 모니터링하는 데 사용되며 일반적으로 템플릿 내에서 직접 사용됩니다.

<button v-on:click="say">Say</button>

메소드 및 인라인 명령문 프로세서

이벤트 핸들러인 v-on을 통해 강도 옵션 속성 메소드의 메소드를 바인딩합니다. v-on: post-매개변수는 모든 기본 이벤트 이름을 허용합니다.

    <button v-on:click = "say">Say</button>
    var vm = new Vue({
        el: "#app",
        data: {
            msg:"hello vue.js"
        },
        methods:{
            say:function(){
                alert(this.msg);
            }
        }
    })

v-on 약어: @. @click="say"

v-on은 인라인 JavaScript 문을 지원하지만 문은 하나만 지원합니다.

    <button v-on:click = "sayFrom(&#39;from param&#39;)">Say</button>
    var vm = new Vue({
        el: "#app",
        data: {
            msg:"hello vue.js"
        },
        methods:{
            sayFrom:function(from){
                alert(this.msg + &#39;&#39; + from);
            }
        }
    })

메소드 함수와 인라인 JavaScript를 룸과 직접 바인딩할 경우 네이티브 DOM 이벤트 객체를 얻어야 할 수도 있습니다

   <button v-on:click = "showEvent">Event</button> 
   <button v-on:click = "showEvent($event)">event</button>
   <button v-on:click = "showEvent()">Say</button>  //这样写获取不到event
    var vm = new Vue({
        el: "#app",
        methods:{
            showEvent:function(event){
                console.log(event);
            }
        }
    })

v-on을 통해 여러 개의 동일한 이벤트 함수를 동일한 요소에 바인딩할 수 있으며 실행 순서는 순차적 실행입니다. .

이벤트 수정자

1. .stop: event.stopPropagation()을 호출합니다.

<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>

2. .prevent: event.preventDefault()를 호출합니다.

    <!-- 提交事件不再重载页面 -->
    <form v-on:submit.prevent="onSubmit"></form>
    <!-- 修饰符可以串联  -->
    <a v-on:click.stop.prevent="doThat"></a>
    <!-- 只有修饰符 -->
    <form v-on:submit.prevent></form>

3. 경청자.

  <!-- 添加事件侦听器时使用事件捕获模式 -->
    <div v-on:click.capture="doThis">...</div>

4. .self: 콜백은 청취 요소 자체에서 이벤트가 트리거될 때만 트리거됩니다.

   <!-- 只当事件在该元素本身(比如不是子元素)触发时触发回调 -->
    <div v-on:click.self="doThat">...</div>

5.once:

 <!-- 点击事件将只会触发一次 -->
    <a v-on:click.once="doThis"></a>

수정자를 사용할 때 해당 코드는 동일한 순서로 생성됩니다. 따라서 @click.prevent.self를 사용하면 모든 클릭이 방지되고, @click.self.prevent는 해당 요소에 대한 클릭만 방지됩니다.

   //例子
    var vm = new Vue({
        el: &#39;#app&#39;,
        methods:{
            saySelf(msg) {
                alert(msg);
            }
        }
    });
    //HTML代码
    <div v-on:click="say(&#39;click from inner&#39;)" v-on:click.self="saySelf(&#39;click from self&#39;)">
        <button v-on:click="saySelf(&#39;button click&#39;)">button</button>
        <button v-on:click.stop="saySelf(&#39;just button click&#39;)">button</button>
    </div>

키 값 수정자

키보드 이벤트를 들을 때 공통 키 값을 모니터링해야 합니다.

    <input v-on:keyup.13 = "submit" />  //监听input的输入,当输入回车时触发submit函数。

모든 keyCide를 기억하기 어렵기 때문에 Vue는 가장 일반적으로 사용되는 키에 대한 별칭을 제공합니다.

    <!-- 同上 -->
    <input v-on:keyup.enter="submit">
    <!-- 缩写语法 -->
    <input @keyup.enter="submit">

.enter
.tab
.delete("삭제" 및 "백스페이스" 키 캡처)
.esc
.space
.up
.down
.left
.right
글로벌 구성을 통해 액세스할 수 있습니다. keyCodes 객체 사용자 정의 키 값 수정자 별칭:

    // 可以使用 v-on:keyup.f1
    Vue.config.keyCodes.f1 = 112

기존 이벤트 바인딩과의 차이점

1. 수동으로 이벤트를 관리할 필요가 없습니다. ViewModel이 삭제되면 모든 이벤트 핸들러가 자동으로 삭제되어 DOM 바인딩 이벤트를 가져오고 특정 상황에서 바인딩을 해제할 필요가 없습니다.

2. ViewModel 코드는 순전히 논리적 코드이며 DOM과 관련이 없습니다. 이는 자동화된 테스트 사례를 작성하는 데 도움이 됩니다.

vue.extend()

하위 구성요소를 재사용하기 위해 vue.js는 기본 Vue 생성자의 "하위 클래스", 매개변수 옵션 객체를 생성하고 직접 선언하는 Vue.extend(options) 메서드를 제공합니다. Vue 인스턴스 매개변수 객체는 기본적으로 동일합니다.

    var Child = Vue.extend({
        teplate:&#39;#child&#39;, //不同的是,el和data选项需要通过函数返回值赋值,避免多个组件实例共用一个数据
        data:function(){
            return {
                ...
            }
        },
        ...
    })
    Vue.component(&#39;child&#39;,child)  //全局注册子组件
    <child ...></child>  //子组件在其他组件内的调用方式

관련 추천: "vue.js tutorial"

위 내용은 vuejs 이벤트 모니터링을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
React의 한계는 무엇입니까?React의 한계는 무엇입니까?May 02, 2025 am 12:26 AM

반응 말 : 1) asteeplearningcurveduetoitsvastecosystem, 2) Seochallengswithclient-siderendering, 3) PlatiperFormanceIssUseInlargeApplications, 4) ComplexStateManagementAsAppSgrow, 및 5) theneedTokeEpupWithitsHouou

React의 학습 곡선 : 새로운 개발자를위한 도전React의 학습 곡선 : 새로운 개발자를위한 도전May 02, 2025 am 12:24 AM

ReactisChallengingforbeginnersdueToitssteePlearningCurveanDParadigMshiftTocomponent 기반 Architection.1) 시작된 문서화 forasolidFoundation.2) startWithOficialDocumentationForAsolIdfoundation.2) 이해를 이해하는 방법

React에서 동적 목록을위한 안정적이고 고유 한 키 생성React에서 동적 목록을위한 안정적이고 고유 한 키 생성May 02, 2025 am 12:22 AM

thecorechallengeenderatingStableanduniquekysfordynamiclistsinconsengingconsententifiersacrossre-rendersforefficialdomupdates

JavaScript 피로 : React 및 그 도구로 최신 상태를 유지합니다JavaScript 피로 : React 및 그 도구로 최신 상태를 유지합니다May 02, 2025 am 12:19 AM

JavaScriptFatigueInreactismanageablewithstrestriveStriveStriveStiMelearningandcuratedInformationSources.1) 1))

usestate () 후크를 사용하는 테스트 구성 요소usestate () 후크를 사용하는 테스트 구성 요소May 02, 2025 am 12:13 AM

TOTESTREACTCOMPONENTSUSINSUSISTATEHOOK, useJestAndReactTestingLibraryTosimulationInteractionsandStateChangeSintheUI.1) renderTheComponentAndCheckInitialState.2) SimulateUserActionSlikeClickSorformSubMissions.3) verifyTateRecerFectsin

React의 키 : 성능 최적화 기술에 대한 깊은 다이빙React의 키 : 성능 최적화 기술에 대한 깊은 다이빙May 01, 2025 am 12:25 AM

keysinReactareCrucialforopiTizingPerformanceByIningIneficiveliceListEpdates.1) uskeyStoIndifyAndTrackListElements.2) revingArrayIndiceSkeyStopReverFormanceSues.3) 선택 가능한 식당 LikeItesteM.idtomaintaintAteAndimProvePerform

React의 열쇠는 무엇입니까?React의 열쇠는 무엇입니까?May 01, 2025 am 12:25 AM

RenderingListStoimproverCiliationeficiency를 사용하면 RECTKEYSAREUNIQUEINDIFIERSEDS (1) ISHELPREACTTRACKCHANGENLISTEMS, 2) 사용 ASSABLEANDUNICEIDERIDERSISTEMIDSISRECEMENDEND, 3) RepoySingArrayIndicesAskeyStopReventIsseswithReAdering 및 4) ENS

React에서 고유 키의 중요성 : 일반적인 함정 방지React에서 고유 키의 중요성 : 일반적인 함정 방지May 01, 2025 am 12:19 AM

고유 한 KeysAreCrucialInreactforoptoropiTizing and ComponentStateIntegrity

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.