elementUI + vue + 直接引用vue和element css和js 菜单组件递归

<html>

<head>
    <title>element-ui demo</title>
    <meta charset="UTF-8">

    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

</head>

<body>
    <div id="app">
        <el-row class="tac">
            <el-col>
                <el-menu class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose">
                    <menutree :data="menu_data"></menutree>
                </el-menu>
            </el-col>
        </el-row>
    </div>

    <template id="menutree">
        <div>
            <label v-for="menu in data" :key="menu.index">
                <el-submenu :index="menu.index" v-if="menu.children">
                    <template slot="title">
                        <span>{{menu.name}}</span>
                    </template>
                    <label>
                        <menutree :data="menu.children"></menutree>
                    </label>
                </el-submenu>
                <el-menu-item v-else :index="menu.index">
                    <span slot="title">{{menu.name}}</span>
                </el-menu-item>
            </label>
        </div>
    </template>

    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <!-- 引入组件库 -->
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>

    <script>

        new Vue({
            el: ‘#app‘,
            data: function () {
                return {
                    visible: false,
                    menu_data: [{
                        "index": "1",
                        "name": "用户管理",
                        "children": [{
                            "index": "1-2",
                            "name": "用户列表",
                            "children": [{
                                "index": "1-2-1",
                                "name": "用户列表查询",
                                "children": [{
                                    "index": "1-2-1-1",
                                    "name": "用户列表查询",
                                    "children": [{
                                        "index": "1-2-1-1-1",
                                        "name": "用户列表查询",
                                        "children": [{
                                            "index": "1-2-1-1-1-1",
                                            "name": "用户列表查询"
                                        }]
                                    }]
                                }]

                            }]
                        }]
                    }, {
                        "index": "2",
                        "name": "角色管理"
                    }, {
                        "index": "3",
                        "name": "用户管理"
                    }, {
                        "index": "4",
                        "name": "角色管理"
                    }]
                }
            },
            methods: {
                handleOpen(key, keyPath) {
                    console.log(key, keyPath);
                },
                handleClose(key, keyPath) {
                    console.log(key, keyPath);
                }
            },
            components: {
                menutree: {
                    template: ‘#menutree‘,
                    props: [‘data‘],
                    name:‘menutree‘
                }
            }
        })
    </script>
</body>

</html>

网上几乎都是模块化(.vue后缀的文件)开发的,感觉前端这些有些高端,网不好,好像是用命令行弄环境和打包什么的,觉得很麻烦,搞不懂那些,就有点小排斥

不知道还有没有和我一样的,就当记录一下,毕竟连查带自己copy别人的代码,搞出来也花了3个小时,心碎了

原文地址:https://www.cnblogs.com/liyax/p/11832372.html

时间: 2024-11-09 00:40:50

elementUI + vue + 直接引用vue和element css和js 菜单组件递归的相关文章

Vue中引入bootstrap导致的CSS问题

最近在进行vue.js+webpack进行模块化开发的时候,遇到一个奇怪的问题. 问题是这样的: 1. 在main.js文件中引入bootstrap的js和css. 2. 自己写了一个Header.vue模块,其中的导航条使用的bootstrap的class和自己的class. <ul class="navbar-nav my-navBar" id="my-navBar"> 3. 在Header.vue中定义了一些ul li 和 a 标签的样式. ul.

Vue Element+Node.js开发企业通用管理后台系统

第1章 课程介绍介绍项目背景.达到的目标.技术栈和功能演示 第2章 课程分析课程分析 第3章 Vue进阶(上)对Vue的进阶知识进行讲解,包括$emit和$on.directive指令.组件化.Vue插件等相关内容. 第4章 Vue进阶(下)对Vue的进阶知识进行讲解,包括组件通信.过滤器.监听器.Vue2.6重要新特性等相关内容. 第5章 Element-UI入门对Element-UI的内容进行讲解,包括如何搭建Element-UI使用环境,如何使用插件快速集成Element-UI,并通过el

Vue为v-html中标签添加CSS样式

在最近的vue项目中遇到的问题:v-html渲染的富文本,无法在样式表中修改样式: <template> <div class="msgHtmlBox" v-html='msgHtml'></div> </template> <script> export default{ data(){ return { msgHtml: "<p>https://www.cnblogs.com/yunspider/&l

vue入门003~vue项目引入element并创建一个登录页面

上一节已经教大家如何创建一个vue项目,这一节,我们就温故下vue项目的创建,顺便引入element,实现一个简答的登陆页面. 老规矩,先看效果图 一,快速创建vue项目 二,引入element类库 首先我们进入element官网:https://element.eleme.cn/#/zh-CN/component/installation简单熟悉下element.然后如下图所示引入element类库.做完上面的操作后,不要忘记安装依赖. 三,在main.js里引入使用 如下图红色框里所示 四,

第十一篇:Vue全局配置自定义css与js

全局配置自定义css与js 配置全局css 首先在src下的assets目录下创建css文件夹,用于存放css全局文件 1.在创建好的css文件夹下创建global.css文件,内容如下: html, body { margin: 0; } a { color: black; text-decoration: none; } ul { margin: 0; padding: 0; } 2.在全局入口文件main.js中导入 //1) 配置全局css import '@/assets/css/gl

如何引用vue

Vue.js 安装 https://www.runoob.com/vue2/vue-install.html 1.独立版本 我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script> 标签引入. 下载 Vue.js 2.使用 CDN 方法 以下推荐国外比较稳定的两个 CDN,国内还没发现哪一家比较好,目前还是建议下载到本地. Staticfile CDN(国内) : https://cdn.staticfile.org/vue/2.2.2/vue.min.js u

vue.js之组件篇

Vue.js 组件 模块化:是从代码逻辑的角度进行划分的: 组件化:是从UI界面的角度进行划分的. 组件(Component)是 Vue.js 最强大的功能之一,组件可以扩展 HTML 元素,封装可重用的代码. 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树,如下图所示: 使用Vue.extend来创建全局vue组件: var com1 = Vue.extend({ template: '<h3>这是使用 Vue.extend 创建的组件&

【实战】Vue全家桶(vue + axios + vue-router + vuex)搭建移动端H5项目

使用Vue全家桶开发移动端页面. 本博文默认已安装node.js. github链接 一.准备工作 安装vue npm install vue 安装脚手架vue-cli npm install -g @vue/cli 创建webpack项目 vue init webpack my-app 运行 cd my-app npm run dev 按照提示,在浏览器打开http://localhost:8082/,效果如下: 安装状态管理vuex npm install vuex --save-dev 目

Vue.js 注册组件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con