목차
이벤트 바인딩
예를 들어, 프로그램에는 사용자의 아바타와 이름이 포함된 보기가 있습니다. 사용자가 아바타나 이름을 클릭하면 사용자 세부정보 페이지로 들어갑니다. 버블링 이벤트가 없으면 아바타와 이름의 클릭 이벤트를 처리해야 합니다. 이제 외부 레이어에 컴포넌트를 래핑하고 해당 컴포넌트의 이벤트를 처리하기만 하면 됩니다.
과 같은
위챗 애플릿 미니 프로그램 개발 미니 프로그램 개발 기초 이벤트 (9)

미니 프로그램 개발 기초 이벤트 (9)

Apr 25, 2017 am 09:42 AM

앞서 언급했듯이 WeChat 애플릿 프레임워크는 로직 레이어와 UI 레이어를 분석하는 설계 방식입니다. 이 설계 방식은 두 가지 문제를 해결해야 합니다.

UI 레이어는 로직의 변화에 ​​반응합니다.
UI 레이어는 사용자의 작업을 로직 레이어에 피드백합니다

앞서 언급한 데이터 바인딩은 첫 번째 문제를 해결하며, 이벤트 그럼 두 번째 문제를 풀어보세요

이벤트란 무엇인가요
이벤트는 뷰 레이어에서 로직 레이어로의 통신 방식입니다.
이벤트는 처리를 위해 사용자 행동을 논리 계층에 피드백할 수 있습니다.
이벤트는 구성 요소에 바인딩될 수 있으며, 트리거 이벤트에 도달하면 논리 레이어의 해당 이벤트 처리 기능이 실행됩니다.
이벤트 객체는 ID, 데이터세트, 터치와 같은 추가 정보를 전달할 수 있습니다.

요약하자면, 이벤트는 어떤 일이 일어나는 것을 의미하며, 일반적으로 사용자는 버튼을 클릭하거나 휴대폰 화면에서 손가락을 슬라이드하는 등의 작업을 수행합니다. 이벤트가 발생하면 프레임워크는 사용자 작업에 응답할 수 있도록 이벤트 처리 함수(있는 경우)를 호출합니다.

이벤트 바인딩

은 이벤트 바인딩을 사용하여 사용자 작업에 대한 응답을 완료합니다. 예를 들어 view 태그의 tap 이벤트를 처리하려면 을 추가한 다음 .js에 bindtap = 'tapName' 함수를 추가합니다. tapName

//wxml
<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>

//.js
Page({
  tapName: function(event) {
    console.log(event)
  }
})
로그인 후 복사

이벤트 객체에는 이벤트에 대한 일부 데이터가 포함됩니다.

대상: 이벤트를 트리거한 구성 요소
currentTarget: 현재 구성요소
type: 이벤트 유형
timeStamp: timestamp(페이지가 열린 후 경과된 밀리초 수) 이벤트가 발생한 시점까지)
touches: 터치 포인트를 포함하는 배열(멀티터치)
changedTouches: 변경된 터치 포인트의 배열(멀티터치)
세부정보: 추가 맞춤 정보

버블 이벤트와 비버블 이벤트

target과 < 사이에 차이가 있는 이유는 무엇인가요? 🎜>currentTarget 이벤트가 버블 이벤트버블이 아닌 이벤트

버블 이벤트의 두 가지 범주로 나누어지기 때문입니다. 구성 요소에서 이벤트가 발생합니다. 트리거된 후 이벤트는 상위 노드로 전달됩니다.
비버블 이벤트: 구성 요소에서 이벤트가 트리거되면 해당 이벤트가 상위 노드로 전달되지 않습니다.


tap

이벤트는 버블링 이벤트입니다(이것이 위 예의 eventcurrentTarget이 포함된 이유입니다). 버블링 이벤트에는 | 트리거 조건|| -------------|
| 손가락 터치 동작 시작
| 터치 후 손가락 이동 | 터치 취소 | 전화 수신 알림 등 손가락 터치 종료 | 터치 액션 종료 |
| 탭 | 손가락 터치 후 바로 나가기|
| 손가락 터치 후 350ms 이상 경과 후 나가기|

버블링 이벤트가 필요한 이유는 무엇입니까?

버블링 이벤트를 통해 일부 기능을 더욱 편리하게 구현할 수 있습니다.

예를 들어, 프로그램에는 사용자의 아바타와 이름이 포함된 보기가 있습니다. 사용자가 아바타나 이름을 클릭하면 사용자 세부정보 페이지로 들어갑니다. 버블링 이벤트가 없으면 아바타와 이름의 클릭 이벤트를 처리해야 합니다. 이제 외부 레이어에 컴포넌트를 래핑하고 해당 컴포넌트의 이벤트를 처리하기만 하면 됩니다.

이벤트 버블링 방지

어떤 경우에는

catchap

과 같은

catch 이벤트 바인딩

을 사용할 수 있습니다. , 이벤트의 버블링 동작을 방지할 수 있습니다. 다음 코드 예제를 사용하면 버블링 이벤트에 대한 이해를 높일 수 있습니다.

//.wxml
<view id="outter" bindtap="handleTapOutter">
  我是父亲节点
  <view id="middle" catchtap="handleTapMiddle">
    我是儿子节点
    <view id="inner" bindtap="handleInner">
      我是孙子节点
    </view>
  </view>
</view>

//.js
Page({
  handleTapOutter: function(event) {
    console.log("父亲节点被点击")
  },
  handleTapMiddle: function(event) {
    console.log("儿子节点被点击")
  },
  handleInner: function(event) {
    console.log("孙子节点被点击")
  },
})
로그인 후 복사
모든 수준에서 노드의 탭 이벤트 바인딩 방법을 수정하고 출력 로그에서 어떤 변경 사항이 발생하는지 확인하세요. .

위 내용은 미니 프로그램 개발 기초 이벤트 (9)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

이벤트 ID 4660: 개체가 삭제되었습니다. [수정] 이벤트 ID 4660: 개체가 삭제되었습니다. [수정] Jul 03, 2023 am 08:13 AM

독자 중 일부는 이벤트 ID4660을 경험했습니다. 그들은 무엇을 해야 할지 확신하지 못하는 경우가 많으므로 이 가이드에서 이에 대해 설명합니다. 이벤트 ID 4660은 일반적으로 개체가 삭제될 때 기록되므로 컴퓨터에서 이 문제를 해결할 수 있는 몇 가지 실용적인 방법도 살펴보겠습니다. 이벤트 ID4660이란 무엇입니까? 이벤트 ID 4660은 Active Directory의 개체와 관련되어 있으며 다음 요소에 의해 트리거됩니다. 개체 삭제 – Active Directory에서 개체가 삭제될 때마다 이벤트 ID 4660이 포함된 보안 이벤트가 기록됩니다. 수동 변경 - 사용자 또는 관리자가 개체의 사용 권한을 수동으로 변경할 때 이벤트 ID 4660이 생성될 수 있습니다. 이는 권한 설정을 변경하거나, 액세스 수준을 수정하거나, 사람이나 그룹을 추가 또는 제거할 때 발생할 수 있습니다.

iPhone 잠금 화면에서 예정된 캘린더 이벤트 받기 iPhone 잠금 화면에서 예정된 캘린더 이벤트 받기 Dec 01, 2023 pm 02:21 PM

iOS 16 이상을 실행하는 iPhone에서는 예정된 캘린더 이벤트를 잠금 화면에 직접 표시할 수 있습니다. 이 작업이 어떻게 수행되었는지 알아보려면 계속 읽어보세요. 시계 페이스 컴플리케이션 덕분에 많은 Apple Watch 사용자는 손목을 통해 다음 캘린더 이벤트를 확인하는 데 익숙합니다. iOS16 및 잠금 화면 위젯의 등장으로 기기 잠금을 해제하지 않고도 iPhone에서 직접 동일한 캘린더 이벤트 정보를 볼 수 있습니다. 캘린더 잠금 화면 위젯은 두 가지 형태로 제공되며, 다음 예정된 이벤트 시간을 추적하거나 이벤트 이름과 시간을 표시하는 더 큰 위젯을 사용할 수 있습니다. 위젯 추가를 시작하려면 Face ID 또는 Touch ID를 사용하여 iPhone을 잠금 해제하고 길게 누르세요.

JavaScript에서 'oninput' 이벤트의 목적은 무엇입니까? JavaScript에서 'oninput' 이벤트의 목적은 무엇입니까? Aug 26, 2023 pm 03:17 PM

입력 상자에 값이 추가되면 oninput 이벤트가 발생합니다. JavaScript에서 oninput 이벤트를 구현하는 방법을 이해하려면 다음 코드를 실행해 보세요. - 예<!DOCTYPEhtml><html> <body> <p>아래 쓰기:</p> <inputtype="text&quot

jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 jQuery에서 선택 요소의 변경 이벤트 바인딩을 구현하는 방법 Feb 23, 2024 pm 01:12 PM

jQuery는 DOM 조작, 이벤트 처리, 애니메이션 효과 등을 단순화하는 데 사용할 수 있는 인기 있는 JavaScript 라이브러리입니다. 웹 개발에서 우리는 선택 요소에 대한 이벤트 바인딩을 변경해야 하는 상황에 자주 직면합니다. 이 기사에서는 jQuery를 사용하여 선택 요소 변경 이벤트를 바인딩하는 방법을 소개하고 특정 코드 예제를 제공합니다. 먼저 라벨을 사용하여 옵션이 포함된 드롭다운 메뉴를 만들어야 합니다.

미니 프로그램 개발 시 PHP 권한 관리 및 사용자 역할 설정 미니 프로그램 개발 시 PHP 권한 관리 및 사용자 역할 설정 Jul 04, 2023 pm 04:48 PM

미니 프로그램 개발에서 PHP 권한 관리 및 사용자 역할 설정 미니 프로그램의 인기와 응용 범위 확장으로 인해 사용자는 미니 프로그램의 기능 및 보안에 대해 더 높은 요구 사항을 제시했습니다. 그 중 권한 관리 및 사용자 역할 설정이 있습니다. 미니 프로그램의 보안을 보장하는 중요한 부분입니다. 미니 프로그램의 권한 관리 및 사용자 역할 설정에 PHP를 사용하면 사용자 데이터 및 개인 정보를 효과적으로 보호할 수 있습니다. 다음에서는 이 기능을 구현하는 방법을 소개합니다. 1. 권한 관리 구현 권한 관리란 사용자의 신원과 역할에 따라 서로 다른 운영 권한을 부여하는 것을 의미합니다. 작게

미니 프로그램 개발의 PHP 페이지 점프 및 라우팅 관리 미니 프로그램 개발의 PHP 페이지 점프 및 라우팅 관리 Jul 04, 2023 pm 01:15 PM

미니 프로그램 개발에서 PHP의 페이지 점프 및 라우팅 관리 미니 프로그램의 급속한 개발로 인해 점점 더 많은 개발자가 미니 프로그램 개발에 PHP를 결합하기 시작하고 있습니다. 소규모 프로그램 개발에서 페이지 점프 및 라우팅 관리는 개발자가 페이지 간 전환 및 탐색 작업을 수행하는 데 도움이 될 수 있는 매우 중요한 부분입니다. 일반적으로 사용되는 서버측 프로그래밍 언어인 PHP는 미니 프로그램과 잘 상호 작용하고 데이터를 전송할 수 있습니다. 미니 프로그램에서 PHP의 페이지 점프 및 라우팅 관리에 대해 자세히 살펴보겠습니다. 1. 페이지 점프 베이스

Jquery에서 일반적으로 사용되는 이벤트는 무엇입니까? Jquery에서 일반적으로 사용되는 이벤트는 무엇입니까? Jan 03, 2023 pm 06:13 PM

jquery에서 일반적으로 사용되는 이벤트는 다음과 같습니다. 1. 창 이벤트 2. 마우스 클릭, 이동 이벤트, 이동 이벤트 등을 포함하여 사용자가 문서에서 마우스를 이동하거나 클릭할 때 생성되는 이벤트입니다. 3. 키보드 이벤트, 키 누르기 이벤트, 키 놓기 이벤트 등을 포함하여 사용자가 키보드의 키를 누르거나 놓을 때마다 이벤트가 생성됩니다. 4. 요소가 포커스를 얻을 때와 같은 폼 이벤트, focus(); 이벤트가 트리거되고 포커스를 잃으면 Blur() 이벤트가 트리거되고 양식이 제출될 때 submit() 이벤트가 트리거됩니다.

PHP 프로젝트에서 달력 기능과 이벤트 알림을 구현하는 방법은 무엇입니까? PHP 프로젝트에서 달력 기능과 이벤트 알림을 구현하는 방법은 무엇입니까? Nov 02, 2023 pm 12:48 PM

PHP 프로젝트에서 달력 기능과 이벤트 알림을 구현하는 방법은 무엇입니까? 캘린더 기능과 이벤트 알림은 웹 애플리케이션을 개발할 때 일반적인 요구 사항 중 하나입니다. 개인 일정 관리, 팀 협업, 온라인 이벤트 예약 등 캘린더 기능을 통해 편리한 시간 관리와 거래 조율이 가능합니다. PHP 프로젝트에서 달력 기능 및 이벤트 알림 구현은 다음 단계를 통해 완료할 수 있습니다. 데이터베이스 디자인 먼저 달력 이벤트에 대한 정보를 저장할 데이터베이스 테이블을 디자인해야 합니다. 단순한 디자인에는 다음 필드가 포함될 수 있습니다. ID: 이벤트에 고유한 필드

See all articles