vue基础(1)

1,vue.js是什么?

Vue (读音 /vjuː/,类似于 view) 是国内大神尤雨溪开发的,
是一套用于构建用户界面的渐进式框架,Vue 可以自底向上逐层应用
Vue 的核心库只关注视图层,是MVVM响应式编程模型,避免直接操作DOM , 降低DOM操作的复杂性。
注 意 : V u e 只 兼 容 I E 9 及 以 上 版 本 \color{#FF0000}{注意:Vue只兼容IE9及以上版本} VueIE9

因为 Vue.js 使用了 IE8 不能模拟的 ECMAScript 5 特性
例如:Object.defineProperty(),

1.1,渐进式框架

个人理解:开始时不需要使用它的全部功能,可以后续逐渐添加。

1.2,自底向上逐层应用

由基层开始做起,把基础的东西写好,再逐层往上添加效果和功能。

1.3,MVVM

在这里插入图片描述

MVVM响应式编程模型图

MVVM是Model-View-ViewModel的简写,它是一种基于前端开发的架构模式。

  • Model:代表数据模型,数据和业务逻辑都在Model层中定义;对应到前端就是javascript对象。
  • View:代表UI视图,负责数据的展示;对应前端就是dom。
  • ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作;

ViewModel是View与Model的连接器,Model和ViewModel之间有着双向数据绑定的联系,View与Model通过ViewModel实现双向绑定。

它有两个功能:
一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。
二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。
这两个功能都实现的,称为数据的双向绑定。

2,vue的核心思想

2.1,数据驱动(数据双向绑定)

Vue组件data中的数据在创建时,都会被改造为set,get类型的属性,当数据发生变化时set方法就会调用,set方法中添加了重新渲染(仅仅是重新渲染页面中使用这个数据的部分,不是全部重新渲染)的代码。

2.2,组件化开发

组件化就是实现了扩展HTML元素,封装可用的代码。
1、页面上每个独立的可视/可交互区域视为一个组件。
2、每个组件对应一个工程目录,组件所需的各种资源在这个目录下就近维护。
3、页面不过是组件的容器,组件可以嵌套,自由组合形成新的页面。

3,vue组件实例

<body>
	<div id="app"> 
		<p>{
  {txt}}</p> 
	</div>
<script>
	new Vue({
		el:"#app",
		data:{
			txt:"hello world",
		},
		methods:{
		},
		created:{
		}
	});
</script>
</body>

3.1,el

组件的挂载点元素的选择器。在Vue中,el通过id="app"的特征钩住了<div>中的所有内容,这样我们就可以在Vue中实现对DOM中的操作。

3.2,data

组件的数据,值是一个对象,在对象中通过键值对的形式为组件添加数据。

3.3,methods

组件的方法,包含的是我们对这个页面的整个逻辑以及页面中的触发事件,其中的内容相当于JavaScript中的function内容。

3.4,实例生命周期钩子函数

在这里插入图片描述

实例生命周期钩子图示

钩子函数有8个,ajax获取数据在mounted(模板渲染完毕后)中执行。

钩子函数 触发的事件 可以做的事情
beforeCreadted vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。 加loading事件
created vue实例的数据对象data有了,$el还没有 结束loading、请求数据为mounted渲染做准备
beforeMount vue实例的$el和data都初始化了,但还是虚拟的dom节点,具体的data.filter还未替换。
mounted vue实例挂载完成,data.filter成功渲染 配合路由钩子使用,ajax获取数据
beforeUpdate data更新时触发
updated data更新时触发 数据更新时,做一些处理(此处也可以用watch进行观测)
beforeDestroy 组件销毁时触发
destroyed 组件销毁时触发,vue实例解除了事件监听以及和dom的绑定(无响应了),但DOM节点依旧存在 组件销毁时进行提示

4,模板语法

4.1,插值

<body>
	<div id="app"> 
		<p>{
   {
   txt}}</p> 
		<p>{
   {
   2+3}}</p> 
	</div>
<script>
	new Vue({
   
		el:"#app",
		data:{
   
			txt:"hello world",
		},
	});
</script>
</body>

在这里插入图片描述
在组件的模板中,可以使用{ {}}进行模板差值,将组件数据绑定到页面中。 { {}}中除了可以绑定组件数据,还可以绑定表达式 。

4.2,常用指令

4.2.1,v-model

v-model:用于数据的双向绑定。

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

4.2.2,v-bind

v-bind:用于标签属性的数据绑定。

//语法:xxx是要绑定的属性名,yyy是要绑定的组件中的数据.
<img v-bind:xxx="yyy" class=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值