如何从vue-fullpage包装器的子组件中调用fullpagejs方法?

问题描述 投票:0回答:1

我不明白如何从vue的子组件中调用fullpagejs方法,或者说任何不是顶层 "App.vue "组件的组件。fullpage的vue包装器限制你在整个应用程序中只能使用一次fullpage组件,所以我不能在任何子组件中调用任何使用 "this.$refs.fullpage.api "的方法。我想在低级组件中嵌套一些可点击的元素,触发 "moveTo "等导航方法。

笔者是如何打算让vue应用程序使用App.vue之外的方法的?我所能找到的唯一可行的方法似乎比较黑;我让子组件通过$root.children[0]来调用App.vue的方法。我是否应该将fullpage ref作为一个道具来传递?我知道道具和事件,但要写代码把事件冒到4-5层的子组件上,似乎非常乏味。我试着用一个单独的vue实例来做一个事件总线,但是事件总线实例没有任何访问App.vue中的方法。感觉我好像遗漏了什么。难道fullpage只是要求你把所有对fullpage api的方法调用整合到App.vue中?

vue.js fullpage.js
1个回答
0
投票

从文档中。

//where --> var vm = new Vue({...}) if calling it from outside.
vm.$refs.fullpage.build();

//or, when calling it from inside the Vue component methods:
this.$refs.fullpage.build();

你也可以使用生活在窗口对象中的全局对象。fullpage_api. 例如:: fullpage_api.moveSectionDown().

如果你知道如何改进你的用例,请随时创建一个pull request,我会很高兴地把它合并到组件中。:)

© www.soinside.com 2019 - 2024. All rights reserved.