Vue框架学习笔记——Vue实例中el和data的两种写法

文章目录


前文提要

本文仅做自己的学习记录,如有错误,请多谅解


Vue实例的el

第一种写法

html 复制代码
<body>
  <div id="box">
    <h1>你好,{{name}}</h1>
  </div>
  <script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
      el: '#box',
      data: {
        name: "这里是name的值",
      }
    })
    // vm.$mount('#box')
  </script>
</body>

第二种写法

html 复制代码
<body>
  <div id="box">
    <h1>你好,{{name}}</h1>
  </div>
  <script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
      // el: '#box',
      data: {
        name: "这里是name的值",
      }
    })
    vm.$mount('#box')
  </script>
</body>

vm代表的是Vue实例,后面加上'$mount','mount'带有绑定的意思,再加上id选择器字符串

小结

对于el来说,两种写法都行,但是第二种更常用。使用不变量记录Vue实例后,第二种写法可以更加自由地添加属性,将其塞入其他的函数中实现动态添加属性也行。

Vue实例中data

第一种写法,对象式

html 复制代码
<body>
  <div id="box">
    <h1>你好,{{name}}</h1>
  </div>
  <script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
      el: '#box',
      data: {
        name: "对象式,这里是name的值",
      }
    })
    
  </script>
</body>

效果图片

data使用大括号就是对象式的写法

第二种写法,函数式

html 复制代码
<body>
  <div id="box">
    <h1>你好,{{name}}</h1>
  </div>
  <script type="text/javascript">
    Vue.config.productionTip = false
    const vm = new Vue({
      el: '#box',
      // data: {
      //   name: "对象式,这里是name的值",
      // }
      data:function(){
      return {
        name:"函数式,这里是name的值",
      }
    }
    })
    
  </script>
</body>

效果图片

data后面不接大括号,而是接入一个函数,函数内的返回值中的数据就相当于之前对象式中写的数据,能够通过返回的name获取到它的数值。

小结

由Vue管理的函数不能写成箭头函数,也就是写成函数式的data的函数,一旦写成了箭头函数,函数中this指定的就不是Vue实例,而是全局的window。

之后学习Vue,学习到组件时候,data就必须使用函数式的写法。


至此,结束。

如果你觉得这篇文章写的不错,多多点赞~收藏吧!

相关推荐
小毅&Nora19 分钟前
【人工智能】【深度学习】 ⑦ 从零开始AI学习路径:从Python到大模型的实战指南
人工智能·深度学习·学习
Maxwell_li122 分钟前
Pandas 描述分析和分组分析学习文档
学习·数据分析·numpy·pandas·matplotlib
雷工笔记24 分钟前
MES学习笔记之SCADA采集的数据如何与MES中的任务关联起来?
笔记·学习
繁星星繁1 小时前
【C++】脚手架学习笔记 gflags与 gtest
c++·笔记·学习
VX:Fegn08952 小时前
计算机毕业设计|基于Java人力资源管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端·课程设计
2301_810746312 小时前
CKA冲刺40天笔记 - day20-day21 SSL/TLS详解
运维·笔记·网络协议·kubernetes·ssl
Lovely Ruby2 小时前
前端er Go-Frame 的学习笔记:实现 to-do 功能(三),用 docker 封装成镜像,并且同时启动前后端数据库服务
前端·学习·golang
老华带你飞2 小时前
健身房|基于springboot + vue健身房管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端
JIngJaneIL2 小时前
基于Java酒店预约系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot
YJlio3 小时前
SDelete 学习笔记(9.18):安全删除、空闲清理与介质回收实战
笔记·学习·安全