js 를 이용 하여 Vue 2.0 데이터 의 양 방향 연결 기능 을 실현 합 니 다.
문법:
Object.defineProperty(obj, prop, descriptor)
const o = {
name:'xbhog'
}
그 중에서 obj 는 o 를 말 합 니 다.prop 은 o.name 을 말 합 니 다.다음은 descriptor 를 살 펴 보 겠 습 니 다.descriptor 대상 속성의 일부 특징(대상 입 니 다)
descriptor 아래 6 개의 인자 가 있 습 니 다.
인자 1:
value:속성 값
인자 2:
writable:대상 속성 값 을 수정 할 수 있 습 니까? true 허용 false 허용 하지 않 음
인자 3:
configurable:대상 속성 을 삭제 할 수 있 는 지 true 허용 false 허용 하지 않 음
인자 4:
enumerable:대상 속성 을 매 거 할 수 있 습 니까?
인자 5:
get():함수 입 니 다.이 속성 에 접근 할 때 함수 가 자동 으로 호출 됩 니 다.함수 반환 값 은 이 속성의 값 입 니 다.
인자 6:
set():함수 입 니 다.이 속성 을 수정 할 때 함수 가 자동 으로 호출 되 고 함수 가 있 으 며 매개 변수 만 있 습 니 다.값 을 부여 하 는 새로운 값 입 니 다.
메모:설명 문자 의 value 속성 writable 속성 과 get 속성 set 속성 은 서로 배척 하 는 관계 입 니 다.하나만 존재 할 수 있 습 니 다.
선행 지식 을 알 게 되 었 습 니 다.Vue 의 v-model 의 양 방향 연결 을 실현 합 니 다.
구현 코드 먼저 보기:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> js </title>
</head>
<body>
<input type="text"/><br>
<h1> :<span> </span></h1>
<!-- js -->
<script>
// HTMLElement
var ipt =document.querySelector('input');
var p = document.querySelector('span');
var data = {name:""};
/*
oninput 。
<input> <textarea> 。
*/
ipt.oninput = function(){
// ipt.value data.name value
data.name = ipt.value;
}
// ipt.value
Object.defineProperty(data,"name",{
//
get(){
return ipt.value; // get
},
//
//name:value
set(value) {
p.innerHTML = value;
ipt.value = value;
}
})
</script>
</body>
</html>
우선 document.query Selector 를 통 해 input 및 span 태그 의 Html 대상 을 가 져 옵 니 다.data 대상 을 정의 할 때 속성 name 이 비어 있 습 니 다.이벤트 감청 oninput 을 사용 하여 사용자 의 입력 을 감청 합 니 다(이 이 벤트 는또는
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
vue2.0 마우스 바인딩 이동 이벤트 - 바인딩class텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.