javascript - 如何访问 VueJS 组件中的 Sequelize 实例?
问题描述
.vue
我有一个用 electron-vue 构建的 Electron/Vue 应用程序,但我不知道如何在组件文件中访问在 main.js 中初始化的 Sequelize 实例。
该src/renderer/main.js
文件包含通常的导入:
import Vue from 'vue'
import axios from 'axios'
import App from './App'
import router from './router'
import store from './store'
import { Sequelize } from 'sequelize'
import mysql2 from 'mysql2'
// create sequelize instance as normal
let db = new Sequelize(
'database', 'user', 'password', {
host: '1.2.3.4',
dialect: 'mysql',
dialectModule: mysql2
})
new Vue({
components: { App },
router,
store,
template: '<App/>'
}).$mount('#app')
现在在一个src/renderer/components/Settings.vue
文件中,我希望能够进行数据库调用,例如:
<template>
...
<button @click="testDatabaseConnection()">Test Database</button>
...
</template>
<script>
export default {
name: 'Settings',
methods: {
navigate(route) {
this.$router.push(route);
},
testDatabaseConnection() {
// access the Sequelize instance
}
}
}
</script>
我在正确/错误的地方这样做吗?如何将db
变量放入 Vue 组件可以访问的范围内?这里有什么我应该阅读的最佳实践吗?
解决方案
您可以使用组件 .vue 文件中import
的关键字来 Javascript 文件/变量/对象。import
例如:
设置.vue
<template>
...
</template>
<script>
import db from '../../database/connection'
export default {
name: 'Settings',
methods: {
async testDbConnection() {
// Can access the db object from the import statement
let result = await db.sequelize.query(...)
},
</script>
推荐阅读
- excel - VBA 功能区验证 imageMso
- php - 如何在 Laravel 5.6 中打印请求模型名称和区域名称?
- c# - 为什么 Int16 类的反编译代码在 Visual Studio 中显示 MinValue 为“--32768”?
- javascript - 单击每个按钮时将元素移动到顶部
- c++ - 哪个更好地检查 std::string 中是否存在字符?find 还是 find_first_of?
- javascript - Vue 上用于显示微调器/加载器 gif 的 onload 页面?
- javascript - 具有相同类的嵌套元素上的jquery单击事件
- java - 为什么 jdk Thread.stop()/suspend()/resume() 函数不安全且已过时?
- sql - 检查约束sql server
- twilio - 无法通过 Safari 获取 iPhone 用户的视频曲目