小编Rak*_*oni的帖子

如果我们在 vuejs 的菜单外单击,如何隐藏下拉菜单

dropdown在 vuejs 中使用菜单组件来制作普通的下拉菜单。我的dropdown组件代码是:

<template>
    <span class="dropdown" :class="{shown: state}">
        <a href="#" @click.prevent="toggleDropdown" class="dropdown-toggle">toggle menu</a>
            <div class="dropdown-menu" v-show="state">
                <ul class="list-unstyled">
                    <slot></slot>
                </ul>
            </div>
        </transition>
    </span>
</template>

<script>
export default {
    name: 'dropdown',
    data () {
        return {
            state: false
        }
    },
    methods: {
        toggleDropdown (e) {
            this.state = !this.state;
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)

现在我通过在模板中使用以下代码在dropdown我的VUE应用程序中的不同位置导入组件

<dropdown>
    <li>
         Action
    </li>
</dropdown>
Run Code Online (Sandbox Code Playgroud)

现在工作正常,但我希望同时只有一个下拉菜单处于活动状态。

我做了很少的研究,发现我可以使用像https://github.com/davidnotplay/vue-my-dropdown这样的插件,但我不想使用它。同样,我还研究了上述示例的工作原理,但我想以我的dropdown组件处理与下拉菜单相关的所有事件的方式来实现此下拉菜单功能。那么你能帮我实现这个目标吗?

javascript drop-down-menu vue.js vue-component vuejs2

15
推荐指数
1
解决办法
2万
查看次数

如何在同一文件夹中创建多个vue应用程序

我正在开发一个具有不同vuejs app实例的项目.

main-project
    > app1
        > src
        > build
        -- main.js
        -- App.vue
        -- package.json
    > app2
        > src
        > build
        -- main.js
        -- App.vue
        -- package.json
    > app3
        > src
        > build
        -- main.js
        -- App.vue
        -- package.json
        .
        .
        .
        .
Run Code Online (Sandbox Code Playgroud)

我创建了使用这些应用程序vue-cli:vue init webpack app1,vue init webpack app2等等.当我使用webpack以下文件构建这些应用程序时

main-project
    > dist
        > assets
            > app1
                -- app.css
                -- vendor.js
                -- app.js
                -- manifest.js
            > app2
                -- app.css
                -- vendor.js
                -- …
Run Code Online (Sandbox Code Playgroud)

webpack vuejs2 vue-cli

12
推荐指数
1
解决办法
5184
查看次数

如何通过最大化优化将json转换为html

我有一些json数组数据有数百个对象,数据结构类似于以下

var json = [{"id":"123","name":"user"},{"id":"124","name":"user2"},{"id":"125","name":"user4"}]
Run Code Online (Sandbox Code Playgroud)

我正在使用以下函数创建dropdown使用此数据(ulli)

var newhtml = $("<div/>");
json.forEach(function (e) {
  newhtml.append('<li>'+e.name+'</li>');
});
$('ul').append(newhtml.html());
Run Code Online (Sandbox Code Playgroud)

工作正常,但问题是如果json data接近千,它会减慢.我已经google了,发现了几种方法,其中包括:

  • 避免追加liul每一次.所以我只在forEach循环后追加一次.它优化的东西不是那么多.

现在我的问题是如何使用优化方式使用json数据创建html?

html javascript jquery json

0
推荐指数
1
解决办法
116
查看次数