阅读时间预估:5分钟
html
指令通俗的来讲就是一个方法名的缩写,经过特定的指令,完成特定的事情,vue中指令前缀为v-前端
表达式的值改变时,将其产生连带的影响,响应地做用于DOMvue
<h1 v-text="msg"></h1>
复制代码
<h1 v-html="msg"></h1>
复制代码
<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>
复制代码
<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>
复制代码
.stop
阻止冒泡,调用 event.stopPropagation()
git
.prevent
阻止默认行为,调用 event.preventDefault()
程序员
.capture
添加事件侦听器时使用事件捕获模式github
.self
只当事件在该元素自己(好比不是子元素)触发时,才会触发事件express
.once
事件只触发一次api
<input type="text" v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>
复制代码
<!-- 1 基础用法 -->
<div v-for="item in items">
{{ item.text }}
</div>
<!-- item 为当前项,index 为索引 -->
<p v-for="(item, index) in list">{{item}} -- {{index}}</p>
<!-- item 为值,key 为键,index 为索引 -->
<p v-for="(item, key, index) in obj">{{item}} -- {{key}}</p>
<p v-for="item in 10">{{item}}</p>
复制代码
<div v-for="item in items" :key="item.id">
<!-- 内容 -->
</div>
复制代码
v-bind:class="expression" or :class="expression"
<!-- 1 -->
<div v-bind:class="{ active: true }"></div> ===> 解析后
<div class="active"></div>
<!-- 2 -->
<div :class="['active', 'text-danger']"></div> ===>解析后
<div class="active text-danger"></div>
<!-- 3 -->
<div v-bind:class="[{ active: true }, errorClass]"></div> ===>解析后
<div class="active text-danger"></div>
--- style ---
<!-- 1 -->
<div v-bind:style="{ color: activeColor, 'font-size': fontSize + 'px' }"></div>
<!-- 2 将多个 样式对象 应用到一个元素上-->
<!-- baseStyles 和 overridingStyles 都是data中定义的对象 -->
<div v-bind:style="[baseStyles, overridingStyles]"></div>
复制代码
<p v-show="isShow">这个元素展现出来了吗???</p>
<p v-if="isShow">这个元素,在HTML结构中吗???</p>
复制代码
<span v-pre>{{ this will not be compiled }}</span>
复制代码
<span v-once>This will never change: {{msg}}</span>
复制代码
Vue.filter('filterName', function (value) {
// value 表示要过滤的内容
})
复制代码
<div>{{ dateStr | date }}</div>
<div>{{ dateStr | date('YYYY-MM-DD hh:mm:ss') }}</div>
<script>
Vue.filter('date', function(value, format) {
// value 要过滤的字符串内容,好比:dateStr
// format 过滤器的参数,好比:'YYYY-MM-DD hh:mm:ss'
})
</script>
复制代码
{
data: {},
// 经过 filters 属性建立局部过滤器
// 注意:此处为 filters
filters: {
filterName: function(value, format) {}
}
}
复制代码
// 只有在 keyCode 是 13 时调用 vm.submit()
@keyup.13="submit"
// 使用全局按键别名
@keyup.enter="add"
---
// 经过全局 config.keyCodes 对象自定义键值修饰符别名
Vue.config.keyCodes.f2 = 113
// 使用自定义键值修饰符
@keyup.enter.f2="add"
复制代码
new Vue({
data: { a: 1, b: { age: 10 } },
watch: {
a: function(val, oldVal) {
// val 表示当前值
// oldVal 表示旧值
console.log('当前值为:' + val, '旧值为:' + oldVal)
},
// 监听对象属性的变化
b: {
handler: function (val, oldVal) { /* ... */ },
// deep : true表示是否监听对象内部属性值的变化
deep: true
},
// 只监视user对象中age属性的变化
'user.age': function (val, oldVal) {
},
}
})
复制代码
var vm = new Vue({
el: '#app',
data: {
firstname: 'jack',
lastname: 'rose'
},
computed: {
fullname() {
return this.firstname + '.' + this.lastname
}
}
})
复制代码
看完这篇不知道面前的这位大侠是否真正的领略到vue指令的巧妙之处,必定要多用多理解每一个指令内部是如何实现的,进阶大佬很是管用!!欢迎留言点赞加评论,文章有不对的地方恳请各位大佬提出.数组
若是个人分享对面前的这位大侠有所启发,恳请以程序员最高礼遇点✨ 星加分享的方式鼓励我.缓存
关注公众号回复:学习 领取前端最新最全学习资料,也能够进群和大佬一块儿学习交流