谈谈对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‘

    }

  }

})

时间: 2024-10-26 23:59:13

谈谈对vue的认识2:双向绑定 v-model的相关文章

0 到 1 掌握:Vue 核心之数据双向绑定

实现数据的双向绑定: 1.实现一个监听器 Observer ,用来劫持并监听所有属性,如果属性发生变化,就通知订阅者: 2.实现一个订阅器 Dep,用来收集订阅者,对监听器 Observer 和 订阅者 Watcher 进行统一管理: 3.实现一个订阅者 Watcher,可以收到属性的变化通知并执行相应的方法,从而更新视图: 4.实现一个解析器 Compile,可以解析每个节点的相关指令,对模板数据和订阅器进行初始化. Reference: 0 到 1 掌握:Vue 核心之数据双向绑定 http

vue 自定义组件 v-model双向绑定、 父子组件同步通信

父子组件通信,都是单项的,很多时候需要双向通信.方法如下: 1.父组件使用:msg.sync="aa"  子组件使用$emit('update:msg', 'msg改变后的值xxx') 2.父组件传值直接传对象,子组件收到对象后可随意改变对象的属性,但不能改变对象本身. 3.父组件使用: v-model 第一种曾经被废除过,由于维护成本的原因被删掉,但经过证实,确实有存在的意义,又被加上. 第一种: 父组件: <template> <div> <aa cl

vue中v-model 数据双向绑定

表单输入绑定 v-model 数据双向绑定,只能应用在input /textare /select <div id="app"> <input type="text" v-model="msg"> <p>{{ msg }}</p> </div> <script src="vue.js"></script> <script> new

vue(原理)_数据双向绑定

1.双向绑定: 1) 双向数据绑定是建立在单向数据绑定(model==>View)的基础之上的2) 双向数据绑定的实现流程:a. 在解析v-model 指令时, 给当前元素添加input 监听b. 当input 的value 发生改变时, 将最新的值赋值给当前表达式所对应的data 属性 2.具体实现 3.测试代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti

VUE 表单元素双向绑定总结

checkbox最基本用法: <input type="checkbox" v-model="inputdata" checked/> <input type="checkbox" v-model="inputdata"/> <input type="checkbox" v-model="inputdata"/> new Vue({ el:"

Vue的双向绑定以及组件的自定义事件

什么是双向绑定 所谓的双向绑定是指数据发生变化时,视图会同步发生变化,而当视图发生变化时,数据也会同步变化. Vue中怎么实现双向绑定 在Vue中,我们通过v-model来创建双向绑定. 我们继续用todolist和todoitme组件来示例双向绑定 在App.vue的data中增加一个message. data(){ return{ message:"hello world", list: [ { title: "新课程1", del: false }, { ti

单和双向绑定使用场景

问题提出 https://www.zhihu.com/question/49964363 vue或者angular的介绍里说自己的特色是双向数据绑定,而在看react的介绍中,说自己的优势和特色是单向数据绑定. vue 和 angularjs支持双向绑定, 但是单向绑定是基本功能, 与react同基础. 那么什么情况下,使用单向绑定, 什么情况下使用双向绑定呢? 概念 https://www.cnblogs.com/Breaveleon/p/6680175.html 单向数据绑定:指的是我们先把

一、vue的数据双向绑定的实现

响应式系统 一.概述 Vue通过设定对象属性的 setter/getter 方法来监听数据的变化,通过getter进行依赖收集,而每个setter方法就是一个观察者,在数据变更的时候通知订阅者更新视图. 双向数据绑定,简单点来说分为三个部分: 1.Observer.这里的主要工作是递归地监听对象上的所有属性,在属性值改变的时候,触发相应的watcher. 2.Watcher.观察者,当监听的数据值修改时,执行响应的回调函数(Vue里面的更新模板内容). 3.Dep.连接Observer和Watc

【vue】跟着老马学习vue-数据双向绑定

学习了node.js教程,只能说是有了一定的了解,之前也了解了webpack和es6的核心内容,也看过vue2.0的官网教程,并结合视频看过项目,但是理解和运用仍然存在很多问题,接下来的一段时间,跟着老马学习vue 学习链接:http://aicoder.com/vue/preview/all.html#1 vue最大的特点就在于它的双向绑定,是一个前端的双向绑定类的框架. 一说到vue我们就应该立刻想到以下几部分:1.数据双向绑定:2.列表渲染.条件渲染:3.事件处理:4.生命周期:5.组件化