uniapp中全局页面挂载组件实战过程(小程序)
uniapp中页面全局挂载组件
首先我说的方法不是全局引入注册使用的时候把标签放在页面中
所需库 vue-inset-loader
步骤:
1.首先需要把uniapp项目 初始化
npm init
2.下载所需库
npm i vue-inset-loader
3.创建vue.config.js 文件
从HBuilder X创建的uniapp项目没有vue.config.js文件 所以需要建一个
const path = require('path') module.exports = { configureWebpack: { module: { rules: [{ test: /\.vue$/, use: { loader: path.resolve(__dirname, "./node_modules/vue-inset-loader") }, }] }, } }
这里面的配置我也是研究了好久 最后实验出这个可以用
4.创建组件
我们就新建一个test的组件吧
5.将组件引入到全局注册
也就是在main.js文件中引入注册组件
import test from '@/components/test/test.vue'; Vue.component('test', test)
除了这种全局引入注册组件也可以在page.json文件中 配置easycom
6.在pages.json文件中配置 insetLoader
//在pages.json文件中新加insetLoader属性 "insetLoader": { //配置 "config": { //将需要引入的组件名起了个confirm的名字在下面label中使用 //右侧"<test ref='confirm' />"为需要插入的组件标签 "confirm": "<test ref='confirm' />" }, // 全局配置 //需要挂在的组件名 "label": ["confirm"], //根元素的标签类型 也就是插入到页面哪个根元素下默认为div 但是uniapp中需要写为view "rootEle": "view" }, "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages { "path": "pages/index/index", "style": { "navigationBarTitleText": "uni-app", // 单独配置,用法跟全局配置一致,优先级高于全局 "label": ["confirm"], "rootEle": "view" } } ],
如果说你不需要每个页面都引入这个组件 可以用单独配置
但是这里我就觉得有点和以往的挂载一样了 都需要在页面中配置
7.效果
完美引入!!!
8.注意:
1.在编辑vue.config.js和pages.json后需要重新启动项目
2.这个方法仅限于vue版本为2和在小程序中使用
总结
到此这篇关于uniapp中全局页面挂载组件的文章就介绍到这了,更多相关uniapp全局页面挂载组件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
最新评论