v-指令

v-cloak
[v-cloak] {
    display: none;
}

包含v-cloak属性的html标签在页面初始化时会被隐藏,在vue执行ready之后,v-cloak属性会被自动去除,此时对应的标签会变为可见。

v-text
        <div >{{msg}}</div>
        <div v-text="msg"></div>

和插值表达式的实现效果是一样的
差别:
1.v-text是没有闪烁问题的
2.v-text会覆盖元素中原本的内容,但是插值表达式只会替换自己的这个占位符,不会把整个元素的内容清空
相同点:
都会把文本中的信息原样直接输出,不进行解析,v-html会对文本信息进行解析后输出

v-html

用于输出html代码

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>

<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>

</head>

<body>

<div id="app">

 <div v-html="message"></div>

</div>

<script>

new Vue({

 el: '#app',

 data: {

 message: '<h1>菜鸟教程</h1>'

 }

})

</script>

</body>

</html>
v-bind属性绑定

实现属性绑定,单向的数据绑定,用于输出html的属性值,也就是class、style还有href之类之类的属性,可以缩写为“:”,感觉这个和小程序那边的样式绑定很像,在web端是不支持数据直接绑定的,使用了vue框架之后,样式就可以在js中改变。v-bind后面的引号中可以书写js表达式。
书写规范 v-bind:数据名/属性名=’’

image.png

<div id="app"> 
<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }">菜鸟教程</div> 
</div>
v-on事件绑定

用于绑定事件,进行处理,并且提供了事件修饰符来处理DOM事件细节
书写规范 v-on:click=’bap’;
常用的事件
.mouseover…
.click
可以简写为@
事件修饰符,在事件后面添加.修饰符,事件修饰符可串联 @click.stop=’’
.stop 阻止冒泡
.prevent 阻止默认事件
.capture 添加事件监听器时使用事件捕获模式
.self 只当事件在该元素本身触发时触发回调(只有点击自己才执行)
.once 事件只能触发一次

v-model双向绑定

用于实现双向数据绑定,只能应用在表单元素中

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>

<script src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>

</head>

<body>

<div id="app">

 <p>{{ message }}</p>

 <input v-model="message"> //在输入框中输入文字后,在上面的行中同步显示

</div>

<script>

new Vue({

 el: '#app',

 data: {

 message: ''

 }

})

</script>

</body>

</html>
v-if

用于条件判断

还有相关的v-else,v-else-if

元素会直接在dom树中删除,如果只显示隐藏元素一次,最好使用v-if

v-show

感觉和其他平台的hidden相似

<div id="app">

 <h1 v-show="ok">Hello!</h1>

</div>

new Vue({

 el: '#app',

 data: {

 ok: true

 }

})

元素并没有在dom树中去掉,只是隐藏,相当于display:none,当需要频繁的操作元素的显示和隐藏,最好使用v-show,可以提高性能。

v-for

v-for=”site in sites”

其中sites表示循环的对象,site就像item一样

也可以提供第二个参数作为键名,第三个参数作为索引,v-for=”(value,key,index) in object”

当循环数组的时候,语法为v-for=’(item,index) of list’

<div id="app">
  <ol>
    <li v-for="site in sites">
      {{ site.name }}
    </li>
  </ol>
</div>

new Vue({
  el: '#app',
  data: {
    sites: [
      { name: 'Runoob' },
      { name: 'Google' },
      { name: 'Taobao' }
    ]
  }
}) 

v-for迭代对象:第一个参数表示值,第二个表示键名,第三个表示下标

<div id="app">
  <ul>
    <li v-for="(value, key, index) in object">
     {{ index }}. {{ key }} : {{ value }}
    </li>
  </ul>
</div>

new Vue({
  el: '#app',
  data: {
    object: {
      name: '菜鸟教程',
      url: 'http://www.runoob.com',
      slogan: '学的不仅是技术,更是梦想!'
    }
  }
})

在使用的时候最好绑定key值,可以提高性能,key值是不相同的,使用:key=’value’;key只接受string或者number
v-for迭代数字
v-for=’I in 100’

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,280评论 0 25
  • 财富的定义:“不进行体力劳动(或者你家里的所有人不进行体力劳动),你所能生存并仍然维持你的生活标准的天数。”所以,...
    民工_2e37阅读 411评论 0 0
  • 阳春三月,桃红杏白,柳绿花红,各色玉兰花更是娇艳欲滴,醉人心扉。剪拾几枝条叶,轻插于各色花瓶中,让枝条拥进清水的滋...
    槑可儿阅读 867评论 3 4
  • 在藏纸出现之前,藏族人民用树皮、石板、羊肩胛骨、木板和羊皮等来作为书写记事用品。这一点和中原人民没有什么不同,对于...
    大昭小昭阅读 1,126评论 0 0
  • 爱情里的loser,青春里的废柴 2014年的夏天,高考结束后的第一个假期,在工地上劳累一个月的我进入武汉一所二流...
    午夜彩虹阅读 365评论 0 0