由于项目需要,用了 SPA 方式进行开发,使用的是 webpack + vue-loader + vue + vue-router。概要代码如下:
// main.vue
<template>
<router-view ref="routerInstance"></router-view>
</template>
// index.vue
<template>
<h>Index!!!</h>
</template>
<script>
export default {
methods: {
callFromOutside() {
alert()
}
}
}
</script>
// router.js
module.exports = {
routes: [{
name: 'Index',
path: '/',
component: require('./index.vue')
}]
}
如果想从 vue 实例对象访问 index.vue 里的 callFromOutside,假设是 vue 实例变量为 vm,同时当前路由页是 Index,则直接调用:
vm.$refs.routerInstance.callFromOutside()
会提示 undefined。请问这里是哪里出问题了?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.