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()
}
相关推荐
共享家95275 小时前
搭建 AI 聊天机器人:”我的人生我做主“
前端·javascript·css·python·pycharm·html·状态模式
Halo_tjn6 小时前
基于封装的专项 知识点
java·前端·python·算法
摘星编程7 小时前
OpenHarmony环境下React Native:自定义useTruncate文本截断
javascript·react native·react.js
Duang007_7 小时前
【LeetCodeHot100 超详细Agent启发版本】字母异位词分组 (Group Anagrams)
开发语言·javascript·人工智能·python
2601_949868369 小时前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
m0_748229999 小时前
Vue2 vs Vue3:核心差异全解析
前端·javascript·vue.js
C澒9 小时前
前端监控系统的最佳实践
前端·安全·运维开发
xiaoxue..9 小时前
React 手写实现的 KeepAlive 组件
前端·javascript·react.js·面试
摘星编程9 小时前
在OpenHarmony上用React Native:自定义useHighlight关键词高亮
javascript·react native·react.js
hhy_smile9 小时前
Class in Python
java·前端·python