目录
vue文件不是html文件
它有3部分组成
1.模板template区域, 写html代码, template标签内只能有一个根标签 (可以嵌套子标签, 但不能有兄弟标签)
2.脚本script区域, 写JavaScript代码
export default {
}
3.样式style区域, 写css代码
错误 (组件的模板中有多个根标签)

App.vue是主组件 启动项目后访问的首页就是它
export default {} // 导出当前vue对象
里面有3个重要成员

函数和计算属性的区别
他们的相同点是
他们的区别是
{{ 函数() }} 函数的后面需要加 () 让函数执行, 然后得到返回值, 然后将返回值做为文本插入在div中
{{ 计算属性 }} 计算属性后面不需要加 () 执行, 因为它在运行时已经不是一个函数, 而是一个计算好的属性
函数是每次调用都重新计算
1.{{ 表达式 }} 文本插值
表达式可以是以下内容
2.v-text 文本插值
v-text作用等同于 {{ }} 语法, 但是没有 {{ }} 灵活
{{}} 是v-text的语法糖
3.v-html 原始html
v-html 作用等同于 {{ }} 语法, 不过插入的值会被当作html代码片段处理
4.v-model 绑定表单元素的value属性 (双向绑定)
5.v-on:或者@注册事件
@是v-on:的语法糖
6.v-bind:或者: 绑定动态属性Attribute
: 是 v-bind: 的语法糖
什么是Attribute
.......................
href ,src,id,class等等都是元素的属性
什么是动态Attribute
有一些特殊的属性可以绑定一个布尔值来改变属性的取值
属性名与属性值一样的
checked=’checked’
selected=’selected’
readonly=’readonly’
disabled=’disabled’
...........................................
7.v-if 控制元素的显示和隐藏, 绑定一个布尔变量
布尔值为false, 会直接将元素从dom树中移除
8.v-show 控制元素的显示和隐藏, 绑定一个布尔变量
布尔值为false, 不会将元素从dom树中移除, 而是添加一个style=’display: none’实现元素隐藏, 元素依然在dom树中
9.v-for 用于遍历数组进行插值
Vue 框架使用的是mvvm设计模式
M: model (数据模型)
V: view (视图)
VM: vm (虚拟dom)

一共有8个钩子函数
这些函数不同于定义在methods里面的函数 (自己定义, 自己调用, 函数名自定义)
钩子函数有一下特点
写生命周期钩子函数的目的是什么?
为了在某个阶段执行一些你想要执行的操作
一个vue文件就是一个vue组件对象
每个vue组件对象都拥有自己独立的生命周期
为什么mounted是最常用的?
因为此时数据和视图都已经出现了
一般会mounted函数中干什么?