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种写法:
-
el 有2种写法
(1)new Vue时候配置el 属性
(2)先创建Vue 实例,随后再通过vm.$mount(‘#root’) 指定el 的值 -
data 有2种写法
(1)对象式
(2)函数式
如何选择:目前哪种写法都可以,以后学习到组件时,data 必须使用函数式,否则会报错 -
一个重要的原则:
由Vue 管理的函数,一定不要写箭头函数,一旦写了箭头函数,this就不是Vue 实例了