代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>el和data的两种写法</title>
<script src="../js/vue.js"></script>
</head>
<body>
<div id="root">
<h1>hello,{{name}}</h1>
</div>
<script>
// //el的两种写法
// const v = new Vue({
// //第一种写法
// //el:'#root',
// data:{
// name:"nihao"
// }
// })
// //第二种写法
// console.log(v);
// setTimeout(()=>{
// v.$mount('#root');
// },1000);
//data的两种写法
new Vue({
el:'#root',
//data第一种写法:对象式
// data:{
// name:'尚硅谷'
// }
//data的第二种写法:函数式
// data:function(){
// console.log('@@@',this);//此处的this是Vue实例对象
// return{
// name:'尚硅谷'
// }
// }
data(){
console.log('@@@',this);//此处的this是Vue实例对象
return{
name:'尚硅谷'
}
}
})
</script>
</body>
</html>
总结:
data与el的两种写法:
1,el有两种写法:
(1)new Vue时配置el属性:el:’#root’
(2)先创建Vue实例vm,随后通过**vm.$mount(’#root’)**指定el的值
2,data有两种写法:
(1)对象式:data:{name:‘尚硅谷’}
(2)函数式:data:function(){ return {name:‘尚硅谷’} }
= =>简写:data(){ return {name:‘尚硅谷’} }
**如何选择:**目前两种写法都可以,以后学习到组件时,data必须使用函数形式
**一个重要原则:**一定不要写箭头函数,如果是剪头函数,this就不再是Vue实例,就是Window