gpt4 book ai didi

javascript - 从外部文件访问 Vue

转载 作者:搜寻专家 更新时间:2023-10-30 22:35:36 24 4
gpt4 key购买 nike

为了便于阅读,我想在外部文件中定义我的路线。

我的 main.js 文件是我启动 Vue 应用程序的地方。如下所示:

import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App'

vue.use(VueRouter)

// I would like these route definitions to be contained in their own file
var Monday = Vue.extend({ template: '<div>Monday view<div>' })
var Tuesday = Vue.extend({ template: '<div>Tuesday view<div>' })
...

var router = new VueRouter()

router.map({
'/monday': { component: Monday },
'/tuesday': { component: Tuesday }

router.start(App, 'body)

我更愿意将路由定义 var Monday = Vue.extend({ ... }) 等分离到它们自己的文件中,以便在应用程序扩展时提高可读性。

问题:如果我要创建一个 RouteDefinitions.js 文件,我无权访问“Vue”,我需要定义 Vue.extend .我应该从 RouteDefinitions.js 中 import Vue from 'vue' again 吗?这是危险信号吗?还是我应该将所有路由逻辑简单地保留在 main.js 中?

最佳答案

你可以的。在你的 main.js 中做这样的事情

import Vue from 'vue'
import router from './config/router'

Vue.router = router

new Vue({
router,
el: '#app',
render: h => h(App)
})

然后在router.js

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
routes: [
/* your routes definition here */
]
})

router.beforeEach((route, redirect, next) => {
/* your route hooks */
next()
})

router.afterEach(function (transition) {
/* your route hooks */
})

export default router

关于javascript - 从外部文件访问 Vue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39440212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com