
由于项目需要,用了 SPA 方式进行开发,使用的是 webpack + vue-loader + vue + vue-router。概要代码如下:
// main.vue <template> <router-view ref="outerInstance"></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 进来就可以用了。 |