Vue.js의 핵심은 일반 HTML 템플릿의 특수 구문을 사용하여 DOM을 기본 데이터에 "바인딩"할 수 있게 해주는 반응형 데이터 바인딩 시스템입니다. 바인딩된 DOM은 데이터와 동기화된 상태로 유지되며, 데이터가 변경될 때마다 해당 DOM 뷰가 업데이트됩니다. 이 기능을 기반으로 vue.js를 통해 클래스를 동적으로 바인딩하는 것이 매우 간단해집니다.
1. 데이터 바인딩
vue 명령어는 v- 접두사로 표시됩니다. 데이터 바인딩 명령어 v-bind: 속성 이름, 약어로는 속성 이름입니다.
<a v-bind:href="http://www.cnblogs.com/">博客园首页</a> 简写: <a :href="http://www.cnblogs.com/">博客园首页</a>
2. 동적 바인딩 클래스
vue의 기본 구분 기호는 {{ }}입니다. 구분 기호의 문자열은 데이터 변수로 간주되며 클래스 =를 통해 전달될 수 있습니다. "{{ className }}" 메소드는 클래스를 설정하는 데 사용되지만 Vue에서는 이 메소드를 v-bind:class 메소드와 혼합하는 것을 권장하지 않습니다. 둘 중 하나만 선택할 수 있습니다. v-bind:class는 클래스 속성의 변수 바인딩 방식과 공존할 수 없지만, DOM 태그에는 네이티브 클래스 기능과 v-bind:class가 동시에 나타날 수 있습니다.
2.1 v-bind:class는 문자열 값이 고정되어 있어 클래스를 동적으로 변경할 수 없으므로 사용하지 않는 것이 좋습니다. :class는 데이터 변수를 지원합니다. 변수 값이 변경되면 클래스도 동시에 업데이트됩니다. v-bind:class 지시문의 값은 javascript 표현식
HTML代码: <div :class=" 'classA classB' ">Demo1</div> 渲染后的HTML: <div class="classA classB">Demo1</div>
과 같은 바인딩 표현식으로 제한됩니다. 지시문에 기록된 값은 javascript 표현식과 같은 표현식으로 간주됩니다. , 따라서 v-bind:class는 삼항 연산을 허용합니다:
HTML代码: <div :class="classA">Demo2</div> Javascript代码: data: { classA: 'class-a' //当classA改变时将更新class } 渲染后的HTML: <div class="class-a">Demo2</div>
2.3 v-bind:class는 객체를 지원하며 객체 클래스가 변경되면 동적으로 업데이트됩니다
HTML代码: <div :class="classA ? 'class-a' : 'class-b' ">Demo3</div> 渲染后的HTML: <div class="class-a">Demo3</div>
HTML代码: <div :class="{ 'class-a': isA, 'class-b': isB}">Demo4</div> Javascript代码: data: { isA: false, //当isA改变时,将更新class isB: true //当isB改变时,将更新class } 渲染后的HTML: <div class="class-b">Demo4</div>
HTML代码: <div :class="objectClass">Demo5</div> Javascript代码: data: { objectClass: { class-a: true, class-b: false } } 渲染后的HTML: <div class="class-a">Demo5</div>
배열에 개체 개체가 포함될 수 있습니다. 변경되면 수업 목록도 업데이트됩니다
HTML代码: <div :class="[classA, classB]">Demo6</div> Javascript代码: data: { classA: 'class-a', classB: 'class-b' } 渲染后的HTML: <div class="class-a class-b">Demo6</div>
위 내용은 이 글의 전체 내용입니다. 이 글의 내용이 모든 분들의 공부나 업무에 조금이라도 도움이 되었으면 좋겠습니다. PHP 중국어 웹사이트가 더 많아질 것입니다!
HTML代码: <div :class="[classA, classB]">Demo7</div> Javascript代码: data: { classA: 'class-a', objectClass: { classB: 'class-b', // classB 的值为class-b, 则将classB的值添加到class列表 classC: false, // classC值为false,将不添加classC classD: true // classD 值为true,classC将被直接添加到class列表 } } 渲染后的HTML: <div class="class-a class-b classD">Demo7</div>