【问题标题】:Integrating Mmenu plugin to Vue.js project将 Mmenu 插件集成到 Vue.js 项目中
【发布时间】:2018-01-30 07:36:37
【问题描述】:

如何在 Vue.js 中集成一个 mmenu jQuery 插件? 我在 index.html 中插入了 mmenu,如下所示:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/7.0.1/jquery.mmenu.all.css">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery.mmenu/7.0.1/jquery.mmenu.all.js"></script>

因此,它包含在整个项目中。但是,我不能在我的 Vue 组件中使用它。我在created()方法中初始化了mmenu插件:

created() {
    $('#menu').mmenu();
}

还有标记:

<a href="#menu">Menu</a>
<!-- The menu -->
<nav id="menu">
    <ul>
        <li><router-link to="/">Home</router-link></li>
        <li><router-link to="/about">About</router-link></li>
        <li><router-link to="/contacts">Contact us</router-link></li>
    </ul>
</nav>

但它似乎不起作用。我必须做什么才能使其正常工作?

【问题讨论】:

    标签: javascript jquery vuejs2 mmenu


    【解决方案1】:

    如果有人仍然感兴趣,我是这样解决的:

    <template>
        <div class="mobile-menu">
            <a href="#menu">
                <span></span>
            </a>
            <nav id="menu">
                <!-- menu list to insert here -->
            </nav>
        </div>
    </template>
    
    <script>
    import 'mmenu-js/dist/mmenu.css'
    import 'mmenu-js/dist/mmenu.js'
    
    export default {
        mounted() {
            new Mmenu(document.querySelector('#menu'))
    
            document.addEventListener('click', evnt => {
                let anchor = evnt.target.closest('a[href^="#/"]')
                if (anchor) {
                    // Go somewhere
                    evnt.preventDefault()
                }
            })
        }
    }
    </script>
    

    【讨论】:

      【解决方案2】:

      首先检查控制台中没有 javascript 错误。然后,在手册的帮助下,尝试使用 API open() 方法打开面板。我认为不仅仅是 Vue.js

      【讨论】:

      • 请编辑您的答案并将其更改为英文。
      猜你喜欢
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 2011-08-28
      • 1970-01-01
      • 2020-06-25
      相关资源
      最近更新 更多