uni-app全局引入js文件

js文件定义

对于js文件内方法的编写,可以采用以下两种形式,两种形式对应两种不同的文件引入:

javascript 复制代码
const showToast = {
	test: function() {
		console.log("测试2")
	}
}
export default showToast

引入: import showToast from './utils/toast'

javascript 复制代码
function test() {
	console.log("测试")
}

export {
	test
}

引入:import * as toast from './utils/toast.js'

全局引入

在main.js文件中引入定义的js文件,然后将其挂载到Vue的原型链上,可通过this.$toast 类似访问

Vue2与Vue3原型挂载有区别:

Vue2:

javascript 复制代码
import Vue from 'vue'
// 挂载到Vue原型
Vue.prototype.$toast = showToast
const app = new Vue({
  ...App
})
app.$mount()

Vue3:

javascript 复制代码
import { createSSRApp } from 'vue'
export function createApp() {
  const app = createSSRApp(App)
  // 挂载Vue原型上
  app.config.globalProperties.$toast = showToast  
  app.use(store)
  return {
    app
  }
}

js方法调用:

javascript 复制代码
created() {
	this.$toast.test()
}
相关推荐
陈皮话梅糖@38 分钟前
使用 Provider 和 GetX 实现 Flutter 局部刷新的几个示例
开发语言·javascript·flutter
Yolo@~5 小时前
个人网站:基于html、css、js网页开发界面
javascript·css·html
斯~内克5 小时前
Electron 菜单系统深度解析:从基础到高级实践
前端·javascript·electron
数据知道5 小时前
【YAML】一文掌握 YAML 的详细用法(YAML 备忘速查)
前端·yaml
dr李四维5 小时前
vue生命周期、钩子以及跨域问题简介
前端·javascript·vue.js·websocket·跨域问题·vue生命周期·钩子函数
旭久5 小时前
react+antd中做一个外部按钮新增 表格内部本地新增一条数据并且支持编辑删除(无难度上手)
前端·javascript·react.js
windyrain5 小时前
ant design pro 模版简化工具
前端·react.js·ant design
浪遏5 小时前
我的远程实习(六) | 一个demo讲清Auth.js国外平台登录鉴权👈|nextjs
前端·面试·next.js
GISer_Jing6 小时前
React-Markdown详解
前端·react.js·前端框架
太阳花ˉ6 小时前
React(九)React Hooks
前端·react.js