ElementUI案例演示:导航、布局、加载动画

ElementUI基本介绍及登录注册案例演示 Element UI 是一个基于 Vue.js 的开源前端框架,用于构建用户界面。它提供了一套丰富的 UI 组件和工具,可以帮助开发者快速构建现代化的 web 应用程序。基于 Vue.js:Element UI 是专门为 Vue.js 框架设计的,因此与 Vue.js 集成非常紧密。这使得开发者可以轻松地将 Element UI 的组件嵌入到他们的 Vue.js 应用程序中。丰富的 UI 组件:Element UI 提供了一系列常用的 UI 组件,包括按钮、表单、对话框、导航菜单、数据表格、图表等等。 阅读详情

知识点

1.vue-router之嵌套路由
http://router.vuejs.org/zh-cn/essentials/nested-routes.html
2.element-ui
导航组件、布局组件、加载动画
http://element.eleme.io/#/zh-CN/component/menu
http://element.eleme.io/#/zh-CN/component/layout
http://element.eleme.io/#/zh-CN/component/loading

这里写图片描述
这里写图片描述
el-nav.vue:

<template>
    <el-menu theme="dark" default-active="1" class="el-menu-demo" mode="horizontal" :router="true">
        <el-menu-item index="/elindex/hot">处理中心</el-menu-item>
        <el-submenu index="2">
            <template slot="title">我的工作台</template>
            <el-menu-item index="2-1">选项1</el-menu-item>
            <el-menu-item index="2-2">选项2</el-menu-item>
            <el-menu-item index="2-3">选项3</el-menu-item>
        </el-submenu>
        <el-menu-item index="3">订单管理</el-menu-item>
    </el-menu>
</template>

el-index:

<template>
    <div>
        <el-row>
            <el-col :span="24"><div class="grid-content bg-purple-dark"></div></el-col>
            <!--使用组件-->
            <elnav></elnav>
        </el-row>
        <!--嵌套路由-->
        <router-view></router-view>
    </div>
</template>


<script>
    // 引入elmenetui的导航组件
    import elnav from "./el-nav.vue";

    export default {
        //加载组件
        components:{elnav}
    }
</script>

el-hot.vue:

<template>
    <div>
        <el-row v-for="hotNews in this.$store.state.ele.hot" justify="start" :gutter="2" align="middle">
            <el-col :span="6">
                <div class="grid-content bg-purple-dark hotimg">
                    <img :src="hotNews.image"/>
                </div>
            </el-col>
            <el-col :span="18">
                <div class="grid-content bg-purple-dark hotcontent">
                    <h2>{{hotNews.title}}</h2>
                    <p>{{hotNews.desc}}</p>
                </div>
            </el-col>
        </el-row>
    </div>
</template>



<script>
    export default{
        mounted(){
            this.$store.dispatch("getHot");
        },
        data(){
            return {msg:"hello vue"}
        }
    }
</script>

eleModule.js:

import Vue from "vue";
export default{
    state:{
        hot:[] //用来装请求回来的数据
    },
    mutations:{
        //写个方法给hot数组设置数据
        setHot(state, data){
            state.hot = data;
        }
    },
    actions:{
        //写个方法,做http请求
        getHot(content){
            //loading效果
            let loading = Vue.prototype.$loading({text:"玩命加载中..."});

            Vue.http.get("http://localhost/eleui.php",{},{emulateJSON:true})
                .then(
                    function (res) { //请求成功的回调函数
                        //先结束loading效果
                        loading.close();
                        //调用设置hot数据的方法,把请求成功的数据给hot数组
                        content.commit("setHot",res.body);
                    },function(){}
                );
        }
    }
}

入口文件jssrc/index.js:

import Vue from "vue";



import pagenav from "./../components/page-nav.vue";
import newsdetail from "./../components/news-detail.vue";

// 引入
import validate from "./../components/validate";
// 使用
Vue.use(validate);

import VueRouter from 'vue-router';
Vue.use(VueRouter); // 全局使用插件

import VueResource from 'vue-resource';
Vue.use(VueResource);

import UserModule from "./../store/modules/UserModule";
import NewsModule from "./../store/modules/NewsModule";
import EleModule from "./../store/modules/eleModule";

import Vuex from 'vuex';
Vue.use(Vuex);

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-default/index.css';
Vue.use(ElementUI);

import eltable from "./../components/el-table.vue";
import elindex from "./../components/elmentui/el-index.vue";
import elhot from "./../components/elmentui/el-hot.vue";

const  vuex_store = new Vuex.Store({
    modules:{
        users:UserModule,
        news:NewsModule,
        ele:EleModule
    }
})

const userlogin = resolve => {
    // 成功之后的回调
    resolve(require("./../components/user-login.vue")); // 这就是异步加载的方式
}

const newslist = resolve => {
    // 成功之后的回调
    resolve(require("./../components/news-list.vue")); // 这就是异步加载的方式
}

const routerConfig = new VueRouter({
    routes: [
        { path: '/', component: userlogin},
        { path: '/news', component: newslist, name:"newslist"},
        { path: '/news/:newsid', component: newsdetail, name:"newsdetail"},
        { path: '/login', component: userlogin,name:"userlogin" },
        { path: '/eltable', component: eltable,name:"eltable" },
        { path: '/elindex', component: elindex,name:"elindex", children:[
            {path:"hot",component:elhot,name:"elhot"}
        ]}
    ]
})

// 全局组件,不加入路由管理
Vue.component("page-nav",pagenav);

let myvue = new Vue({
    el:".container",
    store:vuex_store, //注入到vue
    router:routerConfig,
});

代码分析

1、ele-nav导航组件 是嵌套在 ele-index组件里的,ele-index里加载导航组件

import elnav from "./el-nav.vue";
components:{elnav}
<!--使用组件-->
<elnav></elnav>

2、创建了eleModule模块之后,需要在入库文件里加载

//引入
import EleModule from "./../store/modules/eleModule";
// 使用
const  vuex_store = new Vuex.Store({
    modules:{
        users:UserModule,
        news:NewsModule,
        ele:EleModule
    }
})

3、给ele配置路由

// 引入
import elindex from "./../components/elmentui/el-index.vue";
import elhot from "./../components/elmentui/el-hot.vue";

// 配置
const routerConfig = new VueRouter({
    routes: [
        { path: '/', component: userlogin},
        { path: '/news', component: newslist, name:"newslist"},
        { path: '/news/:newsid', component: newsdetail, name:"newsdetail"},
        { path: '/login', component: userlogin,name:"userlogin" },
        { path: '/eltable', component: eltable,name:"eltable" },
        { path: '/elindex', component: elindex,name:"elindex", children:[
            {path:"hot",component:elhot,name:"elhot"}
        ]}
    ]
})

这里用到了嵌套路由:

{ path: '/elindex', component: elindex,name:"elindex", children:[
            {path:"hot",component:elhot,name:"elhot"}
        ]}

嵌套路由在组件里也需要配合:

<!--嵌套路由-->
        <router-view></router-view>

/elindex/hot

效果演示

这里写图片描述
php代码:

<?php

    // 指定允许其他域名访问  
header('Access-Control-Allow-Origin:*');  
// 响应类型  
header('Access-Control-Allow-Methods:GET');  
header('Access-Control-Allow-Headers:x-requested-with,content-type'); 
    //测试数据
 header("content-type:application/json"); //这句话TM很重要哦,否则到前端获取时 只是普通字符串,不会自动识别


$data=[
          ["title"=>"SpaceX发射重启计划推迟 明年1月发射一箭十星","desc"=>"今年9月1日,搭载有以色列Amos-6通信卫星的猎鹰9号火箭,在东海岸佛罗里达州卡纳维拉尔角40号发射台进行静态点火测试前准备工作时突然起火爆炸,火箭连同价值2亿美元的Amos-6通信卫星一并被炸毁,40号发射台也需要进行大修,随后SpaceX公司被暂停了所有发射。","image"=>"http://inews.gtimg.com/newsapp_ls/0/884972898_300240/0"],
          ["title"=>"iPhone炸完iPad炸 苹果要重蹈三星覆辙?","desc"=>"宁波林先生怎么也没想到,这么悲催的事情居然发生在自己头上:他用了一年多的iPad半夜在充电时爆炸了,不仅写字台被炸开了一个洞,iPad零件更是炸得整个房间到处都是。” ","image"=>"http://inews.gtimg.com/newsapp_ls/0/884809358_300240/0"],
          ["title"=>"遭唱衰的苹果接连公布利好:AppStore上月营收创纪录","desc"=>"腾讯科技讯 目前的苹果,已经进入了库克接手之后最困难的阶段,几乎全部电子产品销售出现同比下跌,财年收入出现了十多年来首次下滑。另外今年推出的新手机也遭遇了类似去年的低迷命运。” ","image"=>"http://inews.gtimg.com/newsapp_ls/0/885233382_300240/0"]
      ];



        sleep(2); //模拟网速很卡
     echo json_encode($data,JSON_UNESCAPED_UNICODE);//精选
Day03-12:Element-案例-基本页面布局 默认情况下展示的是根组件里面的内容,也就是App.vue,而现在想展示的ElementView.vue里面的内容,所以就需要在根组件中引入ElementView.vue里面的内容。http://yapi.smart-xwork.cn/mock/169327/emp/list(老师给的,打不开)1.Element:是饿了么团队研发的,一套为开发者、设计师和产品经理准备的基于Vue2.0的桌面端组件库。2.组件:组成网页的部件,例如:超链接、图片、按钮、表格、表单、分页条等等。 阅读详情

相关推荐

Element-ui 简单实现表格滚动(附演示及源码)

1 前 言 1.1 预览图 1.2 介 绍 功能很简单,不确定方法有没有问题,所以写出来让大家来检查检查 1.3 使用技术 Vue Element-ui 2 实 现 2.1 查看UI 这里是直接使用 UI 里的表格组件,F12 查看 可以明显看出: 表格头 class="el-table__header-wrapper" 表格体 class="el-table__body-wrapper...

xrkffgg前端 4434

VueJs前端实战 2019 Vue4.x+element UI 在线笔记本项目视频教程

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。Vue的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用.Vue.js的目标是通过尽可能简单的 API实现响应的数据绑定和组合的视图组件 本教程将制作一个在线笔记本简单示例来演示Vue+element UI整个开发流程,让大家直观了解Vue实现过程,并在实操过程中逐步掌握Vue+element UI开发的一些常用技巧和知识点。

vue+elementUI后台系统(第六章:路由嵌套与layout布局)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 在后台系统设计中,经常会使用layout布局以及路由 一、layout布局 首先我们来看一下效果图: 1.引入库 代码如下(示例): 二、使

DW14687的博客 1万+

Element概述、入门案例及布局

Element概述、入门案例及布局简单示例

m0_61961937的博客 8190

Vue + elementUi 实现菜单无限级的分类导航

Vue + elementUi 实现菜单无限级的分类导航 [ { "id": 1, "parent_id": 0, "menu_name": "第一级菜单 1", "sorting": 0, "node": [ { "id": 2, ...

Meraln的博客 4707

net core Vue  ElementUI(1) 前端主框架,左侧导航

.net core vue elementui MVC模式(传统web开发模式)目录 1、Libman 客户端管理库先下载安装ElementUi vs2017在项目右键—>添加—>添加客户端库 下载安装Vue 安装后Libman 配置文件 2、项目views文件夹除了Home文件夹Index.cshtml,其他全部删掉,从elementUI官网选择...

awei0130的博客 1万+

ElementUI 整体页面布局

一、概述 一般后台页面的顶部导航栏和左侧导航栏一般是固定的,我们可以布局成下面的样式 二、整体项目布局 因为我们的首页是个公共的组件,点击首页,会员管理,都不会变,所以我们可以放在一个单独文件夹里面。 需要分别对头部,左侧区域,主区域拆分成不同的文件。 创建项目 创建一个全新的ElementUI 项目,请参考链接: https://www.cnblogs.com/xiao987334176/p...

shykevin的博客 1万+

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(二、编写导航页)

从零开始搭建自己的Vuejs2.0+ElementUI单页面网站之使用vue-router编写导航页面

天降风云的博客 3万+

elementui导航折叠卡顿的问题

记录elementui导航折叠卡顿问题解决思路和方法

qq_44886882的博客 6482

从零开始!在 Windows 上安装与配置 Dify

这篇博客将详细介绍如何在 Windows 系统上部署 Dify,适合零基础用户。从 Docker 和 WSL 的安装配置开始,逐步指导用户设置 Git、Docker 环境以及 Dify 配置文件,解决可能遇到的端口冲突等问题,最终完成 Dify 的启动和测试。通过简明易懂的步骤,帮助用户在本地成功运行 Dify,实现模型供应商配置,让 Dify 项目在 Windows 平台上顺利上线。

qq_49035156的博客 5万+

用WorkBuddy搭建漫剧AI自动化制作流水线全攻略

在内容创作领域,AI智能体正逐渐从单一工具辅助走向全流程自动化调度。其核心原理是将剧本、分镜、绘图、配音、剪辑等环节拆解为可独立执行的任务单元,由总控系统统一协调,从而大幅降低人力与时间成本。这种模式尤其适用于动态漫画(漫剧)这类环节多、专业度要求高的视频形态。传统制作流程中,角色一致性、配音周期和剪辑返工是公认的效率瓶颈,而借助AI智能体工作台,创作者只需输入故事创意,即可驱动多个数字分身协同完成内容生产。本文以WorkBuddy为例,详细展示如何配置模型、安装技能包并串联五段式流水线,将单集制作成本从万

weixin_28224217的博客 251

< elementUi 中 封装 NavMenu 导航菜单,实现单页面侧边导航栏 >

在 Vue + elementUi 开发中,在大部分后台管理系统都会选择实现 “ 单页面 ” 应用,简称:`SPA`。但是实现单页面应用,页面布局显然很重要,在开发中,有时候需要,自己编写一个 单页面导航栏。本篇文章将简单展示! 案例仅供参考! ...

一个平平无奇的技术宅 7899

Rockchip rv1126平台在gstreamer1中添加OpenCv实现视频流负片的效果

rv1126 gstreamer opencv negetive effect

Aisy_D的专栏 1463

ElementUI简单布局

ElementUi文档地址:ElementUi文档地址 搭建一个简单的ElementUi的布局 步骤:一、(1)引入相关的库 我这里是下载到本地后 引入的: <!--引入elementui的css样式--> <link rel="stylesheet" href="../css/index.css"> <!--引入elementui组件库样式--> <link rel="stylesheet" href="../theme-chalk-m

weixin_54517901的博客 2085

CAPL实战:从零构建HEX文件解析器,赋能UDS刷写

本文详细介绍了如何使用CAPL从零构建HEX文件解析器,以支持UDS刷写操作。通过解析HEX文件格式、设计状态机、优化数据结构与算法,实现高效准确的固件数据处理,并提供了与UDS刷写流程对接的工程化实践建议。

weixin_28726391的博客 442

如何做好软件需求分析?

软件需求分析也称为系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。软件开发一般包括:可行性分析、需求分析、软件设计、软件开发、软件测试、软件实施、软件服务等步骤,需求分时软件开发的第一步骤。用户需求分析是指在系统设计之前和设计、开发过程中对用户需求所作的调查与分析,是系统设计、系统完善和系统维护的依据。

qq_41854911的博客 1415

Elementui中El-menu导航栏

el-menu官方文档:Element - The world's most popular Vue UI frameworkElement,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库https://element.eleme.cn/#/zh-CN/component/menu 导航栏水平时去除底部白边: 注意:水平时去除底部白边是用的新添加的style标签实现的。其他方式不行,如用::deep,或者直接在原来的style中改,都不行 侧边栏展开时宽度:

1万+

解决宿主机Ping不通虚拟机的问题

在使用虚拟机的过程中,我们常常会遇到宿主机和虚拟机之间无法相互通信的问题。具体来说,我们要查看虚拟机和宿主机的 IP 地址,然后尝试进行 Ping 测试。在某些情况下,我们可能发现 Ping 虚拟机不通,接下来我将分享如何解决这个问题。

howard2005的专栏 7万+

elementui导航栏内容右对齐_前端组件之垂直导航栏

今天继续组件文章的分享。结合上一次讲到的水平导航栏,今天就讲讲垂直导航栏。其实原理和水平导航栏原理其实差不多类似,那么就来谈谈。 说道垂直导航栏,用到最多的地方就是电商网页,特别像淘宝,天猫,京东,苏宁这些网站都有垂直导航栏。垂直导航栏能展示到更多的子项目供用户链接到想了解的地方。这里结合天猫的垂直导航栏来说说垂直导航栏如何写完成。天猫商城的垂直导航栏首先肯定需要一个最外层的盒子来装载全部的内容。...

weixin_39538451的博客 3430

实战案例—encrypt靶场(AES固定key篇)

AES是一种对称密钥加密方法,意味着加密和解密时使用相同的密钥。AES加密存在三种形式:AES-128、AES-192和AES-256,它们分别对应于三种不同的密钥长度——128位(即16字节)、192位(即24字节)和256位(即32字节)。通常情况下,密钥的长度越长,提供的安全性就越高,但相应地,加解密过程所需的时间也会增加。默认情况下,采用的是AES-128,其提供的安全性对于大多数应用来说已经足够充分。

zhouzhou_98的博客 497

【光子 AI 】应用 LangGraph 的核心模型和算法原理,完整实现一个极简版的 Agent 开发框架源代码,并给出具体的应用测试实际项目案例

下面给出一个“极简版 LangGraph 风格 Agent 框架”的完整可运行实现:用 有向图 + 状态(State) + 节点(Node) + 条件路由(Conditional Edge) + 循环(Loop) + Checkpoint 这一套核心模型/算法,把 Agent 组织成可编排、可测试的状态机工作流(这正是 LangGraph 的核心抽象之一:以 StateGraph 组织节点,节点读写共享状态,边做路由与循环,并支持持久化/回放)。 参考概念来源:LangGraph 官方文档对 “StateG

AI天才研究院 267

vue+elementUI项目中使用NavMenu导航菜单

vue+elementUI项目中使用NavMenu 导航菜单 在elementUI官网组件中NavMenu 导航菜单的使用只是简单地运用,在实践项目中还需要配合路由配置。一般后台管理系统不只是导航菜单的单独应用,一般会配合页面标签和面包屑功能,一步一步进行,做导航菜单功能。 网上也有好多开源的后台管理系统,github上可以直接下载。我在网上找了一个vue+elementui后台管理系统,配合功能详解,相信对你会有帮助。 1.准备工作 vue项目搭建,本人习惯用vue-cli脚手架进行快速搭建框架,大家可以

weixin_46995731的博客 6491

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 现在完成时、过去完成时、完成进行时
下一篇: let命令
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值