04—— el 和 data 的两种写法

el 第一种写法

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>el与data的两种写法</title>
	<!-- 引入vue -->
	<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
	<!-- 准备好一个容器 -->
	<div id = "root">
		<h1>你好,{{name}}</h1>
	</div>
	<script type="text/javascript">
		Vue.config.productionTip = false // 设置为 false 以阻止 vue 在启动时生成生产提示。
		new Vue({
			el: '#root',
			data:{
				name:'尚硅谷'
			}
		})
	</script>
</body>
</html>

el 的第二种写法

查看Vue 实例对象

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>el与data的两种写法</title>
	<!-- 引入vue -->
	<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
	<!-- 准备好一个容器 -->
	<div id = "root">
		<h1>你好,{{name}}</h1>
	</div>
	<script type="text/javascript">
		Vue.config.productionTip = false // 设置为 false 以阻止 vue 在启动时生成生产提示。
		const v = new Vue({
			// el: '#root',
			data:{
				name:'尚硅谷'
			}
		})
		console.log(v)
	</script>
</body>
</html>

页面
页面输出vue 的实例对象
在这里插入图片描述
分为有 $ 符号的 和 没有 $ 符号的

const v = new Vue()
输出的 v 是vue 实例对象 上述红色框里面的东西都是它自身上面的,而我们要用的在 vue实例的缔造的原型对象上
v 是实例 Vue 是实例的缔造者
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>el与data的两种写法</title>
	<!-- 引入vue -->
	<script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
	<!-- 准备好一个容器 -->
	<div id = "root">
		<h1>你好,{{name}}</h1>
	</div>
	<script type="text/javascript">
		Vue.config.productionTip = false // 设置为 false 以阻止 vue 在启动时生成生产提示。
		const v = new Vue({
			// el: '#root',
			data:{
				name:'尚硅谷'
			}
		})
		console.log(v)
		v.$mount('#root')
	</script>
</body>
</html>

第二种比较灵活,例如加了一个定时器,一秒之后才使用,如下:

<script type="text/javascript">
		Vue.config.productionTip = false // 设置为 false 以阻止 vue 在启动时生成生产提示。
		const v = new Vue({
			// el: '#root',
			data:{
				name:'尚硅谷'
			}
		})
		console.log(v)
		setTimeout(() => {
			v.$mount('#root')
		}, 1000);
		
	</script>

data 的第一种写法

// data 的第一种写法:对象式
data:{
	name:'尚硅谷'
}

data 的第二种写法

// data 的第二种写法:函数式
data:function() {
	console.log("@@@", this) // 此处的this 是vue实例对象
	return{
		name:'尚硅谷'
	}
}
还可以写成
data() {
	console.log("@@@", this) // 此处的this 是vue实例对象
	return{
		name:'尚硅谷'
	}
}

上面的 this 就是Vue 实例对象
在这里插入图片描述

总结

data 与 el 的2种写法:

  1. el 有2种写法
    (1)new Vue时候配置el 属性
    (2)先创建Vue 实例,随后再通过vm.$mount(‘#root’) 指定el 的值

  2. data 有2种写法
    (1)对象式
    (2)函数式
    如何选择:目前哪种写法都可以,以后学习到组件时,data 必须使用函数式,否则会报错

  3. 一个重要的原则:
    由Vue 管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不是Vue 实例了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值