# Vue2_尚硅谷学习
**Repository Path**: williamsl13/vue-scaffolding-learning
## Basic Information
- **Project Name**: Vue2_尚硅谷学习
- **Description**: 此为尚硅谷Vue2教程自学笔记,请支持正版视频资源
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://www.bilibili.com/video/BV1Zy4y1K7SH?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click
- **GVP Project**: No
## Statistics
- **Stars**: 6
- **Forks**: 6
- **Created**: 2022-04-20
- **Last Updated**: 2024-06-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 笔记
## 关于不同版本的 Vue
1 vue.js 与 vue.runtime.xxx.js 区别
1) vue.js 是完整版的 Vue,包含核心功能+模板解析器
2) vue.runtime.xxx.js 是运行版的 Vue,只包含核心功能,没有模板解析器
2 因为 vue.runtime.xxx.js 没有模板解析器,所以不能使用 template 配置项,需要使用 render 函数
接收到的 creatElement 函数去指定具体内容
注意:vue文件的template有package.json的22行
## vue.config.js配置文件
第一步(仅第一次),全局安装@vue/cli
npm install -g @vue/cli
第二步,切换到需要创建项目的目录,创建项目
vue create xxx
第三步,启动项目
npm run serve
注意,若出现下载缓慢需要
npm config set registry https://registry.npm.taobao.org
脚手架隐藏了所有 webpack 相关的配置,具体查看
vue inspect > output.js
npm vue-cli-serice inspect > output.js
使用 vue.config.js 可以对脚手架进行个性化定制https://cli.vuejs.org/zh
## 脚手架文件结构
├── node_modules
├── public
│ ├── favicon.ico: 页签图标
│ └── index.html: 主页面
├── src
│ ├── assets: 存放静态资源
│ │ └── logo.png
│ │── component: 存放组件
│ │ └── HelloWorld.vue
│ │── App.vue: 汇总所有组件
│ │── main.js: 入口文件
├── .gitignore: git 版本管制忽略的配置
├── babel.config.js: babel 的配置文件
├── package.json: 应用包配置文件
├── README.md: 应用描述文件
## ref 属性
1 被用来给元素或组件注册引用信息(id替代者)
2 应用在HTML标签上获取真实DOM元素,应用在组件上是组件实例对象vc
3 使用
ref="xxx"
this.$refs.xxx
## 配置项props
功能:让组件接收外部传入的数据
1)传递数据
2)接收数据
第一种:只接收
props:['name']
第二种:限制类型
props:{
name:String
}
第三种:限制类型+限制必要性+指定默认值
props:{
name:{
type:String,
required:true,
default:'老王'
}
}
备注:props是只读,Vue底层会监视对props的修改,如果对其修改就会发出警告,若业务需求需要修改,赋值props的内容到data函数一份,之后修改data中的数据即可
## mixin(混入)
功能:可以把多个组件共用的配置取成一个混入对象
使用方式:
第一步定义混合,例如:
{
data(){....},
methods:{....}
....
}
第二步使用混入,例如:
1)全局混入:
import {mixin,mixin2} from './mixin'
Vue.mixin(mixin)
Vue.mixin(mixin2)
2)局部混入:
import { mixin, mixin2 } from "../mixin";
mixins:[mixin,mixin2]
## 插件
功能:增强Vue
本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据
定义插件:
对象.install=function(Vue,options){
1 全局过滤器
2 全局指令
3 配置全局混入
4 添加实例方法
}
使用插件:Vue.use(插件名,传递的数据)
## scoped样式
作用:让样式在局部生效,防止不同组件样式名重复导致冲突
写法: