一、VUE学习笔记 1 | 事件、属性、侦听器、指令、生命周期函数

 

目录

1、Vue简介

2、MVVM

3、安装

4、First Of Vue

4.1 挂载点、模板、实例

4.2 VUE实例中的数据、事件与方法

4.2.1 数据

4.2.2 事件与方法  v-on

5、属性绑定和双向数据绑定  v-bind, v-model

5.1 属性绑定

5.2 双向绑定

6、计算属性和侦听器

6.1 计算属性

6.2 侦听器

7、v-if、v-show、v-for

7.1 v-if 

7.2 v-show

 7.3 v-for

7.3.1 把一个数组对应为一组元素

7.3.2 使用对象

7.3.3、显示过滤/排序后的结果

7.3.4 在v-for里使用值范围

7.4 自定义指令

7.4.1 钩子函数

7.4.2 钩子函数参数

8 生命周期函数


1、Vue简介

一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2、MVVM

vue.js 是当前一个js的 MVVM库,它以数据驱动和组件化的思想构造而成,比其它框架,简洁,上手快。

(1)vue实现挂载到某个元素上 
(2)当vue实现创建后,形成双向绑定,上面dom listeners和data binding二个工具 
(3)从view侧看,vue中datalistener工具帮助我们监听dom变化,如果dom变化更新model数据 
(4)如果从model侧看,当我们更新mode数据,vue中的data bindings工具会帮我们更新view数据. 

3、安装

(1)<script>标签引入(我使用的方法)

开发一般用开发版本 https://vuejs.org/js/vue.js

(2)CDN

<script src="https://cdn.jsdelivr.net/npm/vue"></script>

(3)NPM

在用 Vue 构建大型应用时推荐使用 NPM 安装[1]。NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用。同时 Vue 也提供配套工具来开发单文件组件

# 最新稳定版
$ npm install vue

如果慢的话 用

npm install --registry=https://registry.npm.taobao.org

最好不要 用cnpm,可能会报bug 

(4)命令行工具CLI

vue 提供了一个官方的 CLI,为单页面应用 (SPA) 快速搭建繁杂的脚手架。它为现代前端工作流提供了 batteries-included 的构建设置。只需要几分钟的时间就可以运行起来并带有热重载、保存时 lint 校验,以及生产环境可用的构建版本。

4、First Of Vue

创建index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8" />
	<title>Vue入门</title>
	<script src="./vue.js"></script>
</head>
<body>
	<div id="root">hello {
  {msg}}</div>
	<script>
		new Vue({
			el:"#root",
			data:{
				msg:"world"
			}
		})

	</script>
</body>
</html>

结果: 

new vue()表示创建VUE实例

el :#id  与页面元素做绑定 

data: 存放标签内容,标签中使用{ {}}调用data的数据   这里充分体现了VUE只关注与数据的变化,而不关心DOM操作

4.1 挂载点、模板、实例

(1)挂载点:这个div标签为VUE实例的挂载点

<div id="root">hello {
  {msg}}</div>

(2)模板:挂载点内部的内容成为模板内容

除了以上写法,还可以写到实例里面的template属性中

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8" />
	<title>Vue入门</title>
	<script src="./vue.js"></script>
</head>
<body>
	<div id="root"></div>
	<script>
		new Vue({
			el:"#root",
			template:'<h1>hello {
  {msg}}</h1>',
			data:{
				msg:"world"
			}
		})

	</script>
</body>
</html>

(3)实例需要指定挂载点,VUE会自动结合模板和数据生成最终的内容放入挂在点中

4.2 VUE实例中的数据、事件与方法

4.2.1 数据

{ {}}取数据的方法叫插值表达式

结果:

这里插值表达式{ {}}也可改为 v-text或v-html

<div id="root">
    <h1 v-text="number"></h1>
</div>

v-text、v-html 区别

(1) v-text

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8" />
	<title>Vue入门</title>
	<script src="./vue.js"></script>
</head>
<body>
	<div id="root">
		<div v-text="content"></div>
	</div>
	<script>
		new Vue({
			el:"#root",
			data:{
				content:"<h1>hello</h1>"
			}
		})

	</script>
</body>
</html>

结果

<h1>hello</h1>

(2) v-html

结果

hello

 

4.2.2 事件与方法  v-on

(1)事件处理方法

v-on绑定事件与方法,用于监听DOM事件,可简写为@

实现效果:

点击hello后变为world

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8" />
	<title>Vue入门</title>
	<script src="./vue.js"></script>
</head>

<body>
	<div id="root">
		<div v-on:click="handleClick">{
  {content}}</div>
       <!-- 或<div @click="handleClick">{
  {content}}</div> -->
	</div>
	<script>
		new Vue({
			el: "#root",
			data: {
				content: "hello",
			},
			methods: {
				handleClick: function () {
					this.content = "world"
				}
			}
		})

	</script>
</body>

</html>

(2)内联处理器中的方法

除了直接绑定到一个方法,也可以在内联 JavaScript 语句中调用方法:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值