이번에는 VueJs에서 V-bind 명령어를 사용하는 방법을 알려드리겠습니다. VueJs에서 V-bind 명령어를 사용할 때 주의사항은 무엇인가요? 다음은 실제 사례입니다.
Introduction
v-bind는 주로 속성 바인딩에 사용됩니다. Vue는 공식적으로 바인딩이라는 약어를 제공합니다. 예:
<!-- 完整语法 --> <a v-bind:href="url"></a> <!-- 缩写 --> <a :href="url"></a>
1. 개요
v-bind는 주로 속성에 사용됩니다. 클래스 속성, 스타일 속성, 값 속성, href 속성 등과 같은 바인딩은 속성인 경우 v-bind 명령을 사용하여 바인딩할 수 있습니다. + 존재 여부는 isActive
객체에 더 많은 속성을 전달하여 여러 클래스를 동적으로 전환할 수 있습니다. 또한 v-bind:class 지시어는 일반 클래스 속성과 공존할 수도 있습니다. 다음 템플릿이 있는 경우:
<!-- 绑定一个属性 --> <img v-bind:src="imageSrc"> <!-- 缩写 --> <img :src="imageSrc"> <!-- 内联字符串拼接 --> <img :src="'/path/to/images/' + fileName"> <!-- class 绑定 --> <p :class="{ red: isRed }"></p> <p :class="[classA, classB]"></p> <p :class="[classA, { classB: isB, classC: isC }]"> <!-- style 绑定 --> <p :style="{ fontSize: size + 'px' }"></p> <p :style="[styleObjectA, styleObjectB]"></p> <!-- 绑定一个有属性的对象 --> <p v-bind="{ id: someProp, 'other-attr': otherProp }"></p> <!-- 通过 prop 修饰符绑定 DOM 属性 --> <p v-bind:text-content.prop="text"></p> <!-- prop 绑定。“prop”必须在 my-component 中声明。--> <my-component :prop="someThing"></my-component> <!-- 通过 $props 将父组件的 props 一起传给子组件 --> <child-component v-bind="$props"></child-component> <!-- XLink --> <svg><a :xlink:special="foo"></a></svg>
결과는 다음과 같이 렌더링됩니다. <p v-bind:class="{ active: isActive }"></p>
<p class="static" v-bind:class="{ active: isActive, 'text-danger': hasError }"> </p> 和如下 data data: { isActive: true, hasError: false }
렌더링 결과는 위와 동일합니다. . 반환된 객체의 계산된 속성을 여기에 바인딩할 수도 있습니다. 이것은 일반적이고 강력한 패턴입니다:
<p class="static active"></p>
Array 구문
배열을 v-bind:class에 전달하여 클래스 목록을 적용할 수 있습니다.
<p v-bind:class="classObject"></p> data: { classObject: { active: true, 'text-danger': false } }
렌더링:
<p v-bind:class="classObject"></p> data: { isActive: true, error: null }, computed: { classObject: function () { return { active: this.isActive && !this.error, 'text-danger': this.error && this.error.type === 'fatal' } } }
원하는 경우 조건에 따라 목록의 클래스를 전환하려면 삼항 표현식
<p v-bind:class="[activeClass, errorClass]"></p> data: { activeClass: 'active', errorClass: 'text-danger' }
그런데 조건부 클래스가 여러 개인 경우에는 이렇게 작성하기가 좀 번거롭습니다. 따라서 객체 구문은 배열 구문에도 사용할 수 있습니다 <p class="active text-danger"></p>
에서 클래스 속성을 사용하면 이러한 클래스가 위 구성 요소의 루트 요소에 추가됩니다. . 이 요소에 이미 존재하는 클래스는 덮어쓰지 않습니다. > 사용하면 HTML이
<p v-bind:class="[isActive ? activeClass : '', errorClass]"></p>
로 렌더링됩니다.
4. 인라인 스타일 바인딩객체 구문 v-bind:style의 객체 구문은 매우 직관적 - CSS와 매우 비슷해 보이지만 실제로는 JavaScript
개체입니다. CSS 속성 이름은 camelCase 또는 kebab-case를 사용하여 명명할 수 있습니다(작은따옴표로 묶어야 함):<p v-bind:class="[{ active: isActive }, errorClass]"></p>
Vue.component('my-component', { template: '<p class="foo bar">Hi</p>' })
v-bind:style 的数组语法可以将多个样式对象应用到同一个元素上
<p v-bind:style="[baseStyles, overridingStyles]"></p>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 VueJs에서 V-bind 지시문을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!