由于项目需要,用了 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。请问这里是哪里出问题了?
1
klausgao 2017-07-12 07:13:23 +08:00 via iPhone
公共方法就直接封装进一个 base.js 啊,然后 import 进来就可以用了。
|