v-bind详解

闲话不多说,接触过vue的童鞋都知道一个很常用的指令,那就是v-bind,当然它也有简写方式——":"(见以下代码):

// 完整版
<a v-bind:href="url"></a>

// 简写版
<a :href="url"></a>

下面主要介绍一下这个指令的语法:

对象语法

通常,我们会传给v-bind一个对象,这样我们可以动态地切换一些属性值,比如绑定Class或者Style,像这样:

// isBlue是布尔值,blue类是否存在取决于isBlue是否为真
<div :class="{ blue: isBlue }"></div> 

// thisFont是变量,字体大小随thisFont而变化
<div :style="{ fontSize: thisFont + 'px' }"></div> 

// 当然如果属性多的话,可以这样写
<div :style="styleBox"></div> 
// JS
data () {
    return {
        styleBox: {
            fontSize: 20px,
            color: #ccc,
            ...
        }
    }
}

数组语法

但是最近遇到一个问题,我想动态地为a链接插入不同的tel:号码,这样点击a链接时可以唤起手机的号码识别。但是理想总是丰满的,现实却是对象语法并没有起到作用,这时就轮到数组语法大显神威了,且看下面代码:

// 我的代码中phoneNumber是计算属性,返回一个三元表达式
<a :href="tel:+[phoneNumber]"></a>

// 数组语法还能将多个对象绑定到某个元素上,像这样
<div :style="[firstStyle, secondStyle, ...]"></div>

// 我们可以将对象和数组语法结合起来,兼容属性
<div :style="{ display: ['-webkit-box', '-ms-flexbox', 'flex'] }"></div>

好啦,这里就是我所知道的v-bind指令的用法了,各位不吝赐教噢!!!

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

推荐阅读更多精彩内容

  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,135评论 4 129
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,088评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,268评论 0 6
  • 使用代码实现Autolayout的方法1 创建约束 添加约束 注意一定要在拥有父控件之后再添加约束关闭Autore...
    居敬持志阅读 377评论 0 0
  • 人类为了更好的生存下去,无时无刻不在将自己能获取到的最好的材料加工成自己需要的东西来为我所用。不断的获取,不断的加...
    晓峰的简书阅读 506评论 0 1