>  기사  >  웹 프론트엔드  >  JavaScript의 Avalon 바인딩 속성 요약

JavaScript의 Avalon 바인딩 속성 요약

高洛峰
高洛峰원래의
2016-12-09 16:10:421658검색

avalon은 모든 프런트엔드 코드를 두 부분으로 완전히 나누는 프런트엔드 MVVM 프레임워크입니다. 뷰 처리는 바인딩을 통해 구현되며(Angular에는 명령어라는 더 멋진 용어가 있습니다) 비즈니스 로직은 VM이라는 개체에 집중됩니다. 와 함께. VM의 데이터를 조작하는 한 자동으로 마법처럼 뷰에 동기화됩니다.

$model($가 아닌 모든 속성), $event(이벤트 객체)

1. 범위 묘사

ms-controller: 다음 원칙에 따른 상향식 Proximity DOM 트리 스캔

ms-important: 이 노드 이하만 스캔 영역으로 스캔

ms-skip: 바인딩 무효화

2. -way 바인딩 정의된 속성: 데이터를 DOM 노드에 바인딩(VM이 데이터를 V에 동기화)하는 것 외에도 수신 이벤트도 노드 데이터가 변경되면 비밀리에 노드에 바인딩됩니다. 적시에 VM

(1) 텍스트, 비밀번호, 텍스트 영역의 바인딩 값은 문자열(ms-duplex-text)이어야 합니다.

(2)radio: 부울(ms)로 바인딩 -duplex-boolean)

(3)확인란: 배열로 바인딩(ms-duplex-string)

(4)select: 문자열 또는 배열로 바인딩(ms-duplex-string)

ms-duplex2.0 바인딩 속성이 뒤따릅니다

3. ms-visible: 토글과 유사하게 표현식이 true로 표시되며 표시를 차단 또는 없음으로 설정하여 표시하거나 숨깁니다

4. 삽입 및 제거 처리 ms-if: 노드 요소 표시 요소 추가, 2591ae4c846d4a71180fc085121ece31 주석 숨겨진 노드 설정(노드 삭제)

5. 데이터 ms-data- * 캐시, ms-data를 사용하여 개체 또는 배열 저장(속성 대신 DOM 노드 개체에 바인딩), 노드에 저장, 표시 시 반환 처리 및 data-*로 바인딩 attribute

6. 속성 작동 ms-class(class),ms-duplex(value),ms-attr,ms-href,ms-src

부울 속성: ms-attr-disabled ,ms-attr-readonly,ms-attr -selected,ms-attr-checked

문자열 고유 특성: ms-attr-id,ms-attr-name,ms-attr-title,ms-src, ms-href

사용자 정의 속성: ms-attr-data-url, ms-attr-data-id

ms-class: ms-class='active' ms-class ='active:isOk'
ms-active,ms-hover

7, ms-duplex2.0

ms-duplex-string,ms-duplex-number,ms-duplex-checked,ms-duplex-boolean,ms-data-duplex

보조 데이터-이중-초점,데이터-이중-변경,데이터-이중-이벤트

8. 스타일 작업: ms-css(인라인), ms-class(외부 소개)

<button ms-click="toggle" ms-css-width="100">显示</button> <span ms-if="flag">{{message}}</span>

9. 이벤트 바인딩: ms-on-eventName,ms-eventName

ms-mouseenter, ms-mouseleave(선택한 요소에만 적용), ms -input(ms-on-input), 여러 이벤트의 바인딩 순서는 자연수와 관련이 없으며 이벤트 순서와 관련이 있습니다

10. 루프 작업

ms-each-traverse 임시 변수(상위 요소 바인딩)

ms-repeat - 임시 변수 트래버스(하위 요소에 바인딩)

ms-with - 임시 변수 트래버스(바인딩) 상위 요소)

배열: el 기본 임시 변수, $index 현재 요소의 인덱스, $first가 첫 번째 요소인지 여부 boolean, $last, $remove는 현재 요소를 삭제하는 함수 $outer를 반환합니다. 내부 루프 외부 루프 변수

해시(객체): $key 키 이름, $val 키 값, $outer ($outer.$index)

<ul> <li ms-repeat-e="data">{{e}}</li> </ul> <ul ms-each-e="data"> <li>{{e}}</li> </ul>

객체의 키 값 수정:

객체의 키 값 쌍 수정:

배열의 값 수정: array object.set(subscript, value )

배열의 객체 값을 수정합니다:Array object [subscript]. 키 이름 = 키 값

순회 콜백 함수(속성)

data-each; -rendered

data-with-rendered

data-repeat-rendered

data-with-sorted

루핑 시 데이터 길이를 계산하려면 크기를 사용하세요. , 길이가 아닌 ms-if 대신 ms-if-loop를 사용하십시오. ms-if가 ms-repeat보다 우선하므로

11. 템플릿 참조

12. 🎜>13. 모듈 통신

다음은 avalon 범위 구분 방법을 소개합니다

프론트 엔드 개발에 avalonJS를 사용할 경우 데이터 바인딩 범위를 정의해야 합니다.

(1) ms-controller: 이 바인딩 속성은 근접성 원칙에 따라 범위를 묘사합니다. 먼저 이 태그로 시작하여 온라인으로 검색합니다.

(2) ms-important: 이 바인딩 속성 해당 태그만 검색합니다. vm 바인딩 데이터가 없으면 그대로 페이지에 출력됩니다.

(3) ms-skip: 이 바인딩 속성의 기능은 데이터를 무효화하는 것입니다. 바인딩 즉, 범위에 바인딩된 데이터가 있는지 여부에 관계없이 보간 표현식이 그대로 출력됩니다.

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