谈谈对vue的认识2:双向绑定 v-model

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谈谈对vue的认识2:双向绑定 v-model相关的知识,希望对你有一定的参考价值。

1:v-model指令

数据的双向绑定

双向绑定是说我们不仅仅可以通过数据(M)的改变去影响视图(V),还是当视图的内容改变(V)去影响模型中的数据(M)

通常来说双绑定应用在表单中比较多

指令: vue对html元素拓展是一些属性名称(自定义属性名称)

Vue指令有个特点,都是以v-开头的

V-model,它提供了一个js环境,在他的属性之中我们可以使用js(vue实例化对象)中的变量,将表单元素的值与vue实例化对象中是数据属性同步,实现视图到模型中的数据的一个绑定,因此在表单元素上添加了v-model就实现一种双向绑定

<div id="app">

  <input type="text" v-model="msg">

  <h1>{{msg }}</h1>

</div>

var myData = {

  // 插入的文本

  msg: ‘‘

};

// 创建vue对象

var app = new Vue({

  el: ‘#app‘,

  data: myData

})

//实现了input输入内容和h1的双向绑定

2:类的绑定

第一种 属性插值

Eg:

.red {

  color: red;

}

.green {

  background: green;

}

<div id="app">

  <h1 class="{{cls}}">快乐大本营</h1>

</div>

var app = new Vue({

  el: ‘#app‘,

  data: {

    cls: ‘red green‘

  }

})

第二种 v-bind指令

语法 v-bind:class=”{}”

对象的属性名称表示类的名称,他的值是boolean值,

True表示 在该元素上保留该类

False表示在该元素上删除该类

Eg;

.red {

  color: red;

}

.green {

  background: green;

}

<div id="app">

<h1 v-bind:class="{red: redColor, green: true}">快乐大本营</h1>

</div>

var app = new Vue({

  el: ‘#app‘,

  data: {

    // 属性名称表示写入页面中的变量,属性值,表示对应的类的名称

    redColor: true,

  }

})

第三种 v-bind指令

语法 v-bind:class = “数组”

数组的每个成员代表了一个类,成员的值就是类的名称

Eg:

.red {

  color: red;

}

.green {

  background: green;

}

<div id="app">

  <h1 v-bind:class="[redColor, ‘green‘]">快乐大本营</h1>

</div>

var app = new Vue({

  el: ‘#app‘,

  data: {

    // 属性名称表示写入页面中的变量,属性值,表示对应的类的名称

    redColor: ‘red‘,

   }

})

3:样式绑定

第一种 属性插值

Eg:

<div id="app">

  <span style="{{styles}}">快乐大本营</span>

</div>

var app = new Vue({

  el: ‘#app‘,

  data: {

    // 通过插值的方式为元素定义样式

    styles: ‘color: red‘

  }

})

第二种 v-bind指令

语法 v-bind:style=”{}”

对象的属性名称表示css中样式属性名称,如下驼峰式命名fontSize,可以直接书写css的属性要加引号

   Eg:

<div id="app2">

  <span v-bind:style="{color: clr, background: ‘orange‘, fontSize: ‘40px‘}">

  快乐大本营     

  </span>

</div>

第三种 v-bind指令

语法 v-bind:style = “[]”

数组中每一个成员表示一组css样式,这组样式我们要在绑定的数据中定义它

Eg:

<div id="app3">

  <span v-bind:style="[font, color]">快乐大本营</span>

</div>

var app3 = new Vue({

  el: ‘#app3‘,

  data: {

    color: {

      color: ‘red‘,

      background: ‘yellow‘

    },

    font: {

      fontSize: ‘30px‘,

      fontWeight: ‘bold‘

    }

  }

})

 

以上是关于谈谈对vue的认识2:双向绑定 v-model的主要内容,如果未能解决你的问题,请参考以下文章

10《Vue 入门教程》Vue 双向绑定指令

vue3自定义组件使用v-model实现双向数据绑定

Vue3 数据双向绑定与动态传值响应

Vue3的双向绑定是如何实现的

Vue—数据的双向绑定v-model

Vue学习之路第九篇:双向数据绑定 v-model指令