# vue_test **Repository Path**: jingqi1986/vue_test ## Basic Information - **Project Name**: vue_test - **Description**: vue模块化教程练习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vue2笔记 ## 脚手架文件结构: |-- node_modules |-- public | |-- favicon.ico: 页签图标 | |-- index.html: 主页面 |-- src | |-- assets: 存放静态资源 | | |-- logo.png | |-- component: 存放组件 | | |-- HelloWord.vue | |-- App.vue: 汇总所有组件 | |-- main.js: 入口文件 |-- .gitignore: git版本管制忽略的配置 |-- babel.config.js: babel的配置文件 |-- package.json: 应用包配置文件 |-- README.md: 应用描述文件 |-- package-lock.json: 包版本控制文件 ## 关于不同版本的Vue: - vue.jsjvue.runtime.xxx.js的区别: (1).vue.js是完整版的Vue,包含:核心功能+板解析器。 (2).vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有板解析器。 - 因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用 render函数接收到的createElement函数去指定具体内容。 ## vue.config.js配置文件 > 1.在package.json中配置 > "inspect": "vue-cli-service inspect" > 2.在命令行中运行 > npm run inspect > output.js > 3.查看output.js > 使用vue.config.js可以对脚手架进行个性化定制,详情见:https://cli.vuejs.org/zh ## ref属性 1. 被用来给元素或子组件注册引用信息(id的替代者) 2. 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc) 3. 使用方式: 打标识:`

...

` 获取:this.$refs.xxx$ ## 配置项props 功能:让组件接收外部传过来的数据 ``` (1).传递数据: ``` `` ``` (2).接收数据: ``` ``` 第一种方式(只接收): ``` ``` props:['name'] ``` ``` 第二种方式(限制类型): ``` ``` props:{ ``` ``` name: Number ``` ``` } ``` ``` 第三种方式(限制类型、限制必要性、指定默认值): ``` ``` props: { ``` ``` name: { ``` ``` type: String, //类型 ``` ``` required: true, //必要性 ``` ``` default:'老王' //默认值 ``` ``` } ``` ``` } ``` ``` 备注:props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告, ``` ``` 若业务需求确实需要修改,name请赋值props的内容到data中一份,然后去修改data中的数据。 ``` ## mixin(混入) 功能:可以把所有组件共有的配置提取成一个混入对象 使用方式: ``` 第一步定义混合,例如: ``` 除了生命周期,其他正常生成配置 当前页面配置的属性和方法优先级最高 ``` { ``` ``` data() {...}, ``` ``` methods: {...} ``` ``` } ``` ``` ``` 生命周期不会相互覆盖,一起生效,mixin先于页面的生命周期,其实也可以理解为页面的后执行,(如果有相同方法)可以覆盖mixin的 ``` { ``` ``` mounted() {} ``` ``` } ``` ``` 第二步使用混入,例如: ``` ``` (1).全局混入:Vue.mixin(xxx) ``` ``` (2).局部混入:mixins:['xxx'] ``` ## 插件 功能:用于增强Vue 本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。 定义插件: ``` 对象.install = function (Vue, options) { ``` ``` // 1.添加全局过滤器 ``` ``` Vue.filter(...) ``` ``` // 2.添加全局指令 ``` ``` Vue.directive(...) ``` ``` ``` ``` // 3.配置全局混入(合) ``` ``` Vue.mixin(...) ``` ``` // 4.添加实例方法 ``` ``` Vue.prototype.$myMethods = function () {...} ``` ``` Vue.prototype.$myProperty = xxx ``` } 使用插件:Vue.use() ## scoped样式 作用:让样式在局部生效,防止冲突。 写法:`