Vue学习笔记01 vue模板-MVVM模型-数据绑定

Vue学习笔记01 vue模板-MVVM模型

简介

vue是什么?
构建用户界面的渐进式JavaScropt框架

Vue的特点
1.采用组件化模式,提高代码复用率,且让代码更好维护
2.声明式编码,让编码人员无需直接操作DOM,提高开发效率
3.使用虚拟DOMDIff算法,尽量复用DOM节点
原生:更新之后全部重新覆盖?vue:追加式,更新不一样的

在这里插入图片描述

el / data

el:指定当前Vue实例为哪个容器服务,通常为css选择器字符
一个容器只能对应一个Vue实例

data:用于存储数据,数据供el所指定的容器使用,{{xxx}}使用
1.data中所有的属性,最后都出现在vm身上
2.vm身上所有的属性及Vue原型上的所有属性,在Vue模板中都能使用

root容器里的代码被称为Vue模板
解析流程:现有root容器-> Vue实例 -> 根据el取到容器进行解析替换、生成新容器替换页面的老容器

//root容器里的代码被称为[Vue模板]
<div id="root">
   <h1>{{name}}</h1>
</div>
<script>

el与data的两种写法

el的两种写法

1.el作为配置参数

//创建Vue实例,参数是配置对象{}
const v = new Vue({
	el:'#root', //第一种写法
	data:{
		name:'ranan'
	}
})

2.使用vue实例的$mount()方法把实例挂载到容器上

const v = new Vue({
         data:{
             name:'ranan'
         }
})
v.$mount('#root');    

data的两个写法
1.对象式

const v = new Vue({
         data:{
             name:'ranan'
         }
})

2.函数式

组件里data必须用函数式写法,函数有单独的作用域,复用组件时,数据不会被共享。
由Vue管理的函数,一定不要写箭头函数,要保持this的指向是Vue实例

const v = new Vue({
	   //data:function(){
       data(){//此处的this是Vue实例对象
		return{
			name:'ranan
		}
	}
})

模板语法

模板语法用在Vue模板里面,也就是上面说的容器里面

  • {{}}插值语法:常用于两个标签体之间
  • 指令语法:用于解析标签,标签属性、绑定事件…

数据绑定 v-bind/v-model

v-bind: 动态绑定标签属性值,可以简写成:,格式是v-bind:属性名="表达式"这里的属性值是引号里面的表达式,不是"表达式"这个字符串
<p name="true">表示p有一个属性,属性的值是”true“字符串
<p :name="true"> 表示根据表达式动态绑定一个name属性:name="表达式",这里name的值是true布尔类型。

v-model: 用于双向数据绑定,只能用在表单类元素默认收集元素的value属性。但是对于checxbox来说,value是checked属性。所以v-model:value="name"可以简写为v-model="name"

//使用了模板语法的会自动解析里面的内容
//完整写法
单向数据绑定:<input type="text" v-bind:value="name">
双向数据绑定:<input type="text" v-model:value="name">
 
 //简写
单向数据绑定:<input type="text" :value="name">
双向数据绑定:<input type="text" v-model="name">

checxbox
对于checxbox来说,选择框关注的是是否checked,所以v-model其实是v-model.check
当需要通过属性初始化显示checked,以及交互修改checked,就可以使用v-model

<!-- 既要初始化,又要交互,可以选择v-model -->
<!-- <input type="checkbox" :checked="isAll" @change="checkAll"/> -->
<input type="checkbox" v-model="isAll"/>

MVVM模型

Vue没有完全遵循,但是Vue的设计收到了MVVM的启发

M(Model)模型:对应data中的数据
V(View)视图:模板
VM(ViewModel)视图模型:Vue实例对象
1.实现DOM监听
2.实现数据绑定

在这里插入图片描述
在代码中理解
在这里插入图片描述

MVVM 本质上是 MVC (Model-View- Controller)的改进版。即模型-视图-视图模型。

模型model指的是后端传递的数据,视图view指的是所看到的页面。

视图模型viewModel是 mvvm 模式的核心,它是连接 view 和 model 的桥梁。它有两个方向:

  • 将模型转化成视图,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定
  • 将视图转化成模型,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听

这两个方向都实现的,我们称之为数据的双向绑定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值