> php教程 > PHP开发 > 본문

Vue.js의 일반적인 지침 요약(v-if, v-for 등)

高洛峰
풀어 주다: 2016-12-07 16:54:00
원래의
1968명이 탐색했습니다.

때때로 너무 많은 지시사항은 잘못된 기억이나 혼란을 야기하는 문제를 일으킬 수 있습니다. 따라서 이 글에서는 실수할 가능성을 줄이기 위해 암기하고 상호 참조할 때 산재된 메모리를 사용합니다.

이 글에서는 주로 6가지 지침에 대해 설명합니다:

v-if//v-show//v-else//v-for//v-bind//v-on

1. v-if 조건부 렌더링 명령은 후속 표현식의 bool 값을 기반으로 요소를 렌더링할지 여부를 결정합니다.

HTML:

<p id="example01">
 <p v-if="male">Male</p>
 <p v-if="female">Female</p>
 <p v-if="age>25">Age:{{age}}</p>
 <p v-if="name.indexOf(&#39;lin&#39;)>0">Name:{{name}}</p>
</p>
로그인 후 복사


JS:

var vm= new Vue({
 el:"#example01",
 data:{
  male:true,
  female: false,
  age:29,
  name:&#39;colin&#39;
 }
 })
로그인 후 복사


페이지 렌더링 효과:

Vue.js의 일반적인 지침 요약(v-if, v-for 등) 따라서 v-if 명령은 그 뒤에 있는 표현이 참인 요소만 렌더링합니다. v-show 명령은 여기서 소개됩니다. 왜냐하면 둘 사이의 차이점은 v입니다. -show 명령은 해당 요소에 CSS 코드가 추가되는 요소를 렌더링합니다. 위의 v-if 인스턴스 코드를 v-show로 변경하고 페이지를 렌더링합니다. 효과는 다음과 같습니다:

Vue.js의 일반적인 지침 요약(v-if, v-for 등)2, v-show는 v-if와 유사합니다. 단, 뒤에 있는 표현이 거짓인 요소를 렌더링하고 CSS 코드를 추가한다는 점만 다릅니다. elements: style="max-width:90%";

3, v-else는 v-if/v-show 명령을 따라야 합니다. 그렇지 않으면 작동하지 않습니다.

v-if/v-show 명령이 true이면 else 요소가 표시되지 않습니다. v-if/v-show 명령의 표현이 false이면 else 요소가 페이지에 표시됩니다. :

<p id="app">
<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
<hr>
<h1 v-show="name.indexOf(&#39;cool&#39;) = 0">Name: {{ name }}</h1>
<h1 v-else>Sex: {{ sex }}</h1>
</p>
로그인 후 복사

<script>
 var vm = new Vue({
 el: &#39;#app&#39;,
 data: {
  age: 21,
  name: &#39;keepcool&#39;,
  sex: &#39;Male&#39;
 }
 })
</script>
로그인 후 복사

4, v-for는 JS traversal과 유사하며 사용법은 v- for="item in items", 항목은 배열이고 항목은 배열 내의 배열 요소입니다.


예:

CSS:

<style>
table,th,tr,td{
  border:1px solid #ffcccc;
  border-collapse: collapse;
 }
</style>
로그인 후 복사

HTML:


<p id="example03">
 <table>
 <thead>
 <tr>
  <th>Name</th>
  <th>Age</th>
  <th>Sex</th>
 </tr>
 </thead>
 <tbody>
 <tr v-for="person in people">
  <td>{{ person.name }}</td>
  <td>{{ person.age }}</td>
  <td>{{ person.sex }}</td>
 </tr>
 </tbody>
 </table>
</p>
로그인 후 복사

JS:


<script>
 var vm = new Vue({
 el: &#39;#example03&#39;,
 data: {
  people: [{
  name: &#39;Jack&#39;,
  age: 30,
  sex: &#39;Male&#39;
  }, {
  name: &#39;Bill&#39;,
  age: 26,
  sex: &#39;Male&#39;
  }, {
  name: &#39;Tracy&#39;,
  age: 22,
  sex: &#39;Female&#39;
  }, {
  name: &#39;Chris&#39;,
  age: 36,
  sex: &#39;Male&#39;
  }]
 }
 })
</script>
로그인 후 복사

페이지 효과:


5, v-bind 이 명령은 클래스 요소나 요소의 스타일 바인딩과 같은 HTML 기능을 반응적으로 업데이트하는 데 사용됩니다.

Vue.js의 일반적인 지침 요약(v-if, v-for 등)예를 들어 페이징 기능에서 현재 페이지 번호를 강조 표시하려면 바인딩 명령을 사용할 수 있습니다.

<ul class="pagination">
  <li v-for="n in pageCount">
   <a href="javascripit:void(0)" v-bind:class="activeNumber === n + 1 ? &#39;active&#39; : &#39;&#39;">{
   { n + 1 }}</a>
  </li>
  </ul>
로그인 후 복사

6, v-on은 클릭 이벤트와 같은 특정 요소의 DOM 이벤트를 모니터링하는 데 사용됩니다.


예:

위 내용은 일반적인 Vue.js 지침(v-if, v-for 등)을 요약한 것입니다. PHP 중국어 웹사이트(www.php.cn)를 주목하세요!

<p id="example04">
 <input type="text" v-model="message">
 <button v-on:click="greet">Greet</button>
 <!-- v-on指令可以缩写为@符号-->
 <button @click="greet">Greet Again</button>
 </p>
로그인 후 복사
<script>
 var exampleData04={
 message:"Nice meeting U"
 };
 var vm2=new Vue({
 el:"#example04",
 data:exampleData04,
 methods:{
  greet:function(){
  alert(this.message);
  }
   
 }
 })
</script>
로그인 후 복사


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿