【发布时间】:2021-06-01 10:04:44
【问题描述】:
我正在使用 Vue Ionic 创建应用程序,并尝试通过 ionic 提供的模态控制器更改页面,如下面的代码。
const modal = await this.$ionic.modalController.create({
component: NewPageComponent
})
modal.present()
然后NewPageComponent 在<ion-modal></ion-modal> 中打开没有问题。
但是当我尝试在 NewPageComponent 中确认 $route 和 $router 时,NewPageComponent 没有这些。
新页面组件
export default {
created () {
console.log(this.$route) // undefined
console.log(this.$router) // undefined
}
}
在<ion-modal></ion-modal> 中打开的Vue 组件似乎没有$route 和$router。
但其他人有这些没有问题。
例如,我可以在App.vue 中看到$route 和$router。
App.vue
<template>
<ion-app>
<v-app>
<span>App</span>
</v-app>
<ion-app>
</template>
<script>
export default {
created () {
console.log(this.$route) // this.$route exists
console.log(this.$router) // this.$router exists
}
}
</script>
当然我已经在main.js注册了路由器
import Vue from 'vue'
import App from './App.vue'
import router from './router'
import Ionic from '@ionic/vue'
import './registerServiceWorker'
import './plugins/ionic.js'
Vue.use(Ionic)
Vue.config.productionTip = false
new Vue({
router, // I have set router like this
render: h => h(App)
}).$mount('#app')
有什么方法可以让在<ion-modal></ion-modal> 中打开的 Vue 组件像 NewPageComponent 一样有$route 和$router?
【问题讨论】:
-
不确定您从哪里获得此代码,但全都错了。我建议您从 ionic starter 模板和有关创建模态的文档开始
标签: vue.js ionic-framework vue-component vue-router