02 vue数据绑定与指令

系列文章导航

01 Vue语法基础

02 vue数据绑定与指令

03 vue组件技术

04 vue单文件组件定义与使用


1 模板语法

在标记内通过模板语法:{{}}进行数据的绑定。

{{}}内支持变量,方法名,计算属性,表达式,不支持语句。

{{}}将数据解析为纯文本,如果需要解析为html,需要在标记上增加v-html指令。

2 属性绑定

在标记上,为标记属性绑定Vue数据时,不允许用模板语法,如下方式是不合法的。

属性绑定需要使用vue指令v-bind实现

v-bind:属性名="data属性"
:属性名=“data属性”

"baidu">百度1

"baidu">百度1

3 指令

3.1 v-bind 用于标签的属性绑定

v-bind:属性名="data属性"

:属性名=“data属性” 



    
        "utf-8">
        
        
    
    
        
        

    

3.2 v-model 用于表单控件双向绑定



    
        "utf-8">
        
        
    
    
        
"app">
文本框
"baidu" type="text" />
控件值:{{baidu}}
单选框
男:
女:
控件值:{{sex}}
复选框
篮球:
足球:
羽毛球:
控件值:{{loves}}
单选下拉框
控件值:{{love}}
多选下拉框
控件值:{{loves}}

3.3 v-model 的指令修饰符

02 vue数据绑定与指令_第1张图片

.lazy : 当光标离开控件时,才出发变量的数据变更。

"baidu" type="text" />

.number : 限定文本框只能输入数值。

"baidu" type="text" />

.trim : 自动去除内容两头的空格符号。

"baidu" type="text" />

3.4 v-text,v-html

v-text更新元素的textContent。

v-text="msg">

{{msg}}

v-html 更新元素的innerHtml,会解析HTML代码

v-html="html">{{包含html内的变量}}

3.5 v-show,v-if,v-else,v-else-if

v-show 根据表达式的布尔值,切换内容块的display属性值,隐藏或显示

"true">Hello1

"false">Hello2

v-if 根据表达式的布尔值,渲染或不渲染内容快,添加或移除

if="true">Hello-1

if="false">Hello-2

v-else 前一个兄弟元素必须有v-if或者v-else-if,当不成立的时候渲染

if="Math.random() > 0.5"> 大于0.5
else> 小于或等于0.5

v-else-if 多重if判断,前一兄弟元素必须有 v-if 或 v-else-if

if="type === 'A'"> A
else-if="type === 'B'"> B
else-if="type === 'C'"> C
else> Not A/B/C

3.6 v-for 迭代数组

    
        
"app">
    "example-1">
  • {{ item.message }}
    "example-2">
  • {{ index }} - {{ item.message }}
    "example-3">
  • {{ index }} - {{ item }}

输出结果:

02 vue数据绑定与指令_第2张图片

3.7 v-for 迭代对象



    
        "utf-8">
        
        
    
    
        
"app">
    "v-for-object1" class="demo">
  • {{value}}
    "v-for-object2" class="demo">

输出结果:

02 vue数据绑定与指令_第3张图片

3.8 v-for 迭代模板

templete标签在实际渲染的时候元素是不显示在网页上的,如果v-for过程中要迭代生成多个标签内容,可以把v-for语法加载template上。

3.9 v-on 绑定事件

绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。

用在普通元素上时,只能监听原生 DOM 事件。用在自定义元素组件上时,也可以监听子组件触发的自定义事件。

事件绑定用的:v-on:事件名="触发的方法名"


 


 

简写代码:@事件名="触发的方法名"


代码实例:



    
        "utf-8">
        
        
    
    
        
"app">

输出结果:

02 vue数据绑定与指令_第4张图片

 

 

在子组件上监听自定义事件 (当子组件触发“my-event”时将调用事件处理器handleThis):

event="handleThis">

3.9 v-on 修饰符

02 vue数据绑定与指令_第5张图片





"onEnter">

13="onEnter">

3.9 v-once 单次渲染

只渲染元素和组件一次。随后的变量值变更不会重新渲染。

"text" v-model="title" />
{{title}}

3.10 v-bind绑定class

通过数据项的布尔值决定是否引用某个class属性。



    
        "utf-8">
        
        
        
    
    
        
"app">
普通方式
对象形式
数组形式
三元数组
普通方式和数组形式混合

运行结果:

02 vue数据绑定与指令_第6张图片

3.10 v-bind绑定style

当样式中包含中划线时,必须用单引号引起来。



    
        "utf-8">
        
        
    
    
        
"app">
对象形式
样式对象方式
数组方式

输出:

02 vue数据绑定与指令_第7张图片

 

你可能感兴趣的:(02 vue数据绑定与指令)