vue学习笔记之指令v

一 : 指令的概念:

指令是html">vue自定义的以html">v-开头的自定义属性。每个不同的属性都有各自不同的意义和功能

二 : 指令的语法:

v-指令名 = “表达式判断或者是业务模型中属性名或者事件名”

三 : 具体指令

1. v-text

作用 : 操作元素中的纯文本

快捷方式 : {{}}

栗子1

简写形式:将v-text=""换成{{}}

<div> {{ message }} </div> var app = new Vue({ el : '#app', data : { message : 'hello world' } })

结果:hello world

栗子2

<h1 v-text="'今天是'+year+'年'+month+'月'"></h1> var app1 = new Vue({ el : "#app1", data : { year : new Date().getFullYear(), month : new Date().getMonth()+1 } })

结果:今天是2017年5月

等同于:<h1>今天是{{year}}年{{month}}月</h1>

这里v-text="",双引号并不是代表字符串,而是vue自定义的划定界限的符号。如果我们里边输出字符串,就要在里边再添加一对单引号。而且经测验,要想输出字符串,必须添加单引号,否则会报错

这里month默认是从0开始的,所以我们要+1

这里{{}}代表的就是"",所以在v-text=""中,我们在内容里边就不需要再写{{}}了,直接写data值就行

栗子3

<div> <h1>{{ message }}</h1> <h1>{{ message.concat('!!!') }}</h1> <h1>{{ message? 'has message' : 'no message' }}</h1> 下面这两个语句报错 <h1>{{ var message = 'message' }}</h1> <h1>{{ if(message){return info} }}</h1> </div> var app = new Vue({ el : '#app', // 绑定了上边的id='app'的元素 data : { message : 'hello' } })

结果:

  hello
  hello!!!
  has message

第四五句报错

大胡子{{}}里边支持表达式

但不是所有的表达式都能放在里边,只有单个语句的可以,像var和if就不可以

如果想使用if语句的话,用三元运算符代替

栗子4

可以采用对象的形式传递多个数据

<div> <p>姓名 : {{ person.name }}</p> <p>性别 : {{ person.sex }}</p> <p>年龄 : {{ person.age }}</p> </div> var app2 = new Vue({ el : "#app2", data : { person : { name : '小明', sex : '男', age : 8 } } })

结果:

 姓名 : 小明
 性别 : 男
 年龄 : 8

vue学习笔记之指令v

2. v-html

作用 : 操作元素中的HTML标签

v-text会将元素当成纯文本输出,v-html会将元素当成HTML标签解析后输出

栗子1

<div> {{ message }} </div> var app3 = new Vue({ el : "#app3", data : { message : "![](img/1.jpg)" } })

由此可见:{{}}/v-text不能解析html元素,只会照样输出

栗子2

<div v-html="message"></div> var app3 = new Vue({ el : "#app3", data : { message : "![](img/1.jpg)" } })

结果 : 成功显示图片

vue学习笔记之指令v


3. v-bind

作用 : 绑定标签属性,:后面是标签属性名

栗子1

<div> <a href="" v-bind:href=" hrefvalue"> ![](source) </a> </div> var app = new Vue({ el : "#app", data : { hrefvalue : 'http://www.baidu.com', source : 'img/1.jpg' } })

vue学习笔记之指令v


栗子2

<div> <span v-bind:title = 'message'> 鼠标悬停几秒钟查看此处动态绑定的提示信息! </span> </div> var app2 = new Vue({ el : '#app2', data : { message : '页面加载于' + new Date() } })

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wysffx.html