이번에는 Vue 내장 명령어 사용 지침을 가져왔습니다. Vue 내장 명령어 사용 지침에 대한 주의 사항은 무엇입니까? 다음은 실제 사례입니다.
지시문은 v- 접두사가 있는 특수 속성입니다. 지시문의 역할은 표현식 값이 변경될 때 관련 효과를 DOM에 반응적으로 적용하는 것입니다.
내장 명령
1. v-bind: DOM 기능에 응답하고 업데이트합니다(예: v-bind:href v-bind:class v-bind:title 등).
주요 사용법 속성을 바인딩하는 것입니다. <a v-bind:href="url" rel="external nofollow" rel="external nofollow" >...</a>
<!-- 缩写 -->
<a :href="url" rel="external nofollow" rel="external nofollow" >...</a>
<p :title='title'>标题</p>
var app = new Vue({
el: '#app',
data: {
url: 'www.baidu.com',
title: 'bind'
},
})
그런데, 메소드와 이벤트에 대해 이야기해 봅시다 2.1 @click 표현식은 직접
JavaScript 문을 사용할 수도 있고, Vue 인스턴스의 메소드 옵션에 함수 이름이 될 수도 있습니다. <!-- 完整语法 -->
<a v-on:click="doSomething">...</a>
<!-- 缩写 -->
<a @click="doSomething()">...</a> //是一个方法名
<p ng-if='show'>一段文本</p>
<button @click="show=false">点击隐藏文本</button> //直接是一个内联的语句
<button v-on:click="count++">Add 1</button>
var app = new Vue({
el: '#app',
data:{
show: true,
counter: 0
},
methods: {
doSomething: function(){
console.log(this.title);
},
}
})
Vue는 이벤트가 버블링되거나 링크가 열리는 것을 방지할 수 있는 특수 변수 $event를 제공합니다.
<p @click="stopClick1('stop1',$event)"> <p @click="stopClick2('stop2',$event)"> <p @click="stopClick3('stop3',$event)">阻止冒泡</p> </p> </p> </p> methods:{ stopClick3: function(message, event){ console.log(message); event.stopPropagation(); //阻止冒泡 }, stopClick2: function(message, event){ console.log(message); }, stopClick1: function(message, event){ console.log(message); } }
2.3 수정자:
바운드 이벤트 뒤에 작은 원 추가 수정자를 사용하려면 "." 뒤에 접미사를 클릭하세요.
위 버블링 이벤트는 직접 사용자 수정자로 작성할 수 있습니다.
<p @click.stop="stopClick3('stop3')">阻止冒泡</p> //不用通过$event事件再来写了
일반적으로 사용되는 일부 수정자는 다음과 같습니다.
• .stop
• .prevent
• .capture
• .self
• .once
< !一阻止单击事件冒泡一〉 <a @click.stop=”handle "></a> 〈!一修饰符可以串联一〉 <a @click.stop.prevent=” handle ” ></a> 〈!一添加事件侦听器时使用事件捕获模式一〉 <p @click . capture=”handle ”> ... </p> 〈!一只当事件在该元素本身(而不是子元素) 触发时触发回调一〉 <p @click.self=” handle ”> ... </p> < !一只触发一次,组件同样适用一〉 <p @click.once=” handle ”> ... </p>
양식 요소에서 키보드 이벤트를 모니터링할 때 특정 키를 눌렀을 때만 메서드를 호출하는 등의 키 수정자를 사용할 수도 있습니다.
< !一只有在keyCode 是13 时调用vm.submit()一〉 <input @keyup.13 =“ submit ”〉
3. v-model: 양식 입력 등에 사용됩니다. .; 예: < v-model= "message" 입력>
4. v-show: 조건부 렌더링 명령, DOM에 대한 CSS 스타일 속성 설정
5. v-if: 조건부 렌더링 명령, 동적으로 추가 또는 DOM에서 DOM 요소를 삭제합니다. if 쌍으로 사용
8. 요소의 textContent를 업데이트합니다. }} ;
9.v-html: 요소의 innerHTML도 업데이트됩니다.
10, v-for: 루프 명령어, 예:
<p id= "app "> <ul> <li v-for="book in books">{ { book.name } }</li> </ul> </p> var app =new Vue({ el: '#app', data: { books: [ {name: '<vue.js实战>'}, {name: '<javascript语言精粹>'}, {name: '<javascript高级程序设计>'} ] } });
10.1 v- for
표현식은 배열을 탐색할 때 현재 항목의 인덱스로 선택적 매개변수를 지원합니다. 예:
<p id="app"> <ul> <li v-for="(book , index) in books ">{{ index}} - {{book.name })</li> </ul> </p>
10.2 v- for 표현식
이 객체의 속성을 순회할 때 두 개의 선택적 매개변수, 즉 키 이름과 인덱스가 있습니다:
<p id= "app"> <ul> <li v-for="(value , key , index) in user "> { { index } } - { { key } } : { { value } } </li> </ul> </p> var app = new Vue({ el: '#app', data: { name: 'Aresn', grender: '男', age:23 } });
10.3 v-for 표현식은 정수를 반복할 수도 있습니다: <p id="app">
<span v-for="n in 10">{{n}}</span>
</p>
배열을 수정하면 Vue는 데이터 변경을 감지하므로 v-for로 렌더링된 뷰는 즉시 업데이트됩니다. • push()
• pop()• Shift()
• unshit()• splice()
• sort()• reverse()
이 메소드는 이 메소드에 의해 호출된 원래 배열을 변경합니다
예를 들어 이전 예의 데이터 북에 항목을 추가합니다.
app.books.push({ name: '《css世界》' });
• Slice()
그들이 반환하는 것은 새로운 배열입니다. 이러한 비변이 방법을 사용하면 다음과 같이 원래 배열을 새 배열로 바꿀 수 있습니다.
app.books = app.books.filter(function (item) { return item . name.match(/JavaScript/); });
Vue 배열의 변경 사항을 감지하면 전체를 직접 다시 렌더링하지 않습니다. 목록에 있지만 DOM 요소의 재사용을 최대화합니다.
교체된 배열에서는 동일한 요소가 포함된 항목이 다시 렌더링되지 않으므로 성능 문제에 대한 걱정 없이 과감하게 기존 배열을 새 배열로 교체할 수 있습니다.
10.5 필터링 및 정렬
当你不想改变原数组,想通过一个数组的副本来做过滤或排序的显示时, 可以使用计算属性来返回过滤或排序后的数组 ,例如:
<p id="app"> <ul> <template v-for="book in filterBooks"> <li>书名:{{book.name}}</li> <li>作者:{{book.author}}</li> </template> </ul> </p> var app= new Vue({ el: '#app', computed: { filterBooks: function(){ return this.books.filter(function (book) { return book.name.match(/JavaScript/); }) }, } });
11、v-cloak:不需要表达式,这个指令保持在元素上直到关联实例结束编译; v-cloak 是一个解决初始化慢导致页面闪动的最佳实践 ;
12、v-once:也是一个不需要表达式的指令,作用是定义它的元素或组件只渲染一次,包括元素或组件的所有子节点。
首次渲染后,不再随数据的变化重新渲染,将被视为静态内容; v-once 在业务中也很少使用,当你需要进一步优化性能时,可能会用到。
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
위 내용은 Vue 내장 명령어 사용 지침의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!