# 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样式 作用:让样式在局部生效,防止不同组件样式名重复导致冲突 写法: