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

2023-05-16

知识点

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);//精选
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ElementUI案例演示:导航、布局、加载动画 的相关文章

  • Rplidar A2 激光雷达使用hector_slam进行建图

    手头上有一个Rplidar A2 激光雷达 xff0c 通过其进行slam建图 xff0c 如下 环境 xff1a 1 Rplidar A2 激光雷达 xff1b 2 笔记本电脑 xff1b 3 Ubuntu 16 04 4 ROS Kin
  • Oracle之常用内置函数

    1 Oracle内置函数 wm concat wm concat 函数是oracle中独有的 mysql中有一个group concat 函数 实现行转列功能 xff0c 即将查询出的某一列值使用逗号进行隔开拼接 xff0c 成为一条数据
  • RRT算法三维避障的MATLAB实现

    RRT算法又称为快速随机扩展数算法 xff0c 是一种普适路径规划算法 xff0c 为什么说是普适算法 xff0c 因为它什么样的苛刻的条件都会极大的可能性找到一条路径 但是这样的算法也往往会伴随缺点 xff1a 1 每次迭代都是在随机找点
  • MiniFly微型四轴学习与开发日志(六)——遥控器任务与系统框架

    文章目录 遥控器任务框架遥控器系统框架 遥控器任务框架 参数配置任务主要功能是保存参数 按键扫描任务主要功能是扫描按键 显示任务主要功能是显示界面 飞控指令发送任务主要功能是将采集摇杆电位器的 AD 值转换为姿态控制命令 xff0c 并以
  • Arduino串口发送与接收16进制数据(HEX)(数据乱码)-JDY-10M组网

    最近使用JDY 10M蓝牙组网 xff0c 需要Arduino收发数据 xff0c 将遇到的一些问题与最终解决方法分享给大家 xff0c 如果内容有问题 xff0c 还请大家指点 1 JDY 10M组网 关于如何JDY 10M如何组网网上介
  • 串口通信协议介绍

    串口通信协议介绍 空闲时 xff1a TX RX为高电平 xff0c 通讯时 xff1a 低电平为起始位 43 送数据位 xff08 从低到高 xff09 43 校验位 43 停止位 常用8N1 0 1 0 1 0 0 0 0 0 0 TX
  • ROS-基础(kinetic---melodic---noetic)

    学习资料参考 xff1a ROS机器人开发实践 胡春旭 目录 工作空间和功能包的创建集成开发环境的搭建话题和服务的实现方法ROS中的命名空间及解析方法ROS分布式通信的方法 热身 常用命令 命令作用catkin create pkg创建功能
  • linux下用多线程实现socket服务器和客户端的异步通信

    前面介绍了用select函数来实现socket的异步收发数据 xff0c 但是select函数也有一些缺陷 xff0c 要使socket能持续地通信 xff0c select必须不停地检测 xff0c 这样进程就会一直阻塞在这里 xff0c
  • SDN之NETCONF Call Home

    本文主要内容都来自于今年二月发布的RFC8071 NETCONF Call Home and RESTCONF Call Home xff0c 该RFC从2015年4月提出到最终发布一共修改了17个版本 xff0c 其间修改内容可以点击查看
  • Command ‘roscore‘ not found, but can be installed with: sudo apt install python-roslaunch

    Command roscore not found but can be installed with sudo apt install python roslaunch roscore 报错 Command 39 roscore 39 n
  • 按键精灵通过抓抓工具来获取坐标位置

    1 按键精灵通过抓抓工具找图 这里我就随便拿一款游戏来测试了 这是一款手游打开之后的界面 xff0c 要求我们点击确定继续现在要求使用脚本在帮我们点击这个确定按钮 我们新建一个脚本 然后打开按键精灵的抓抓工具 然后返回到按键精灵 xff0c
  • 在云服务器上部署项目(上)

    1 购买腾讯云主机 首先我们先了解一下云服务器的概念 云服务器 xff1a 高性能高稳定的云虚拟机 xff0c 可在云中提供弹性可调节的计算容量 xff0c 不让计算能束缚您的想象 xff1b 您可以轻松购买自定义配置的机型 xff0c 在
  • 在云服务器上部署项目(下)

    云服务器上部署项目 xff08 上 xff09 xff1a http blog csdn net gfd54gd5f46 article details 54331207 5 从网上下载jpress开源项目 流程 xff1a 下载jpres
  • 利用String类制作简单的网络爬虫

    网络爬虫 网络爬虫 xff08 又被称为网页蜘蛛 xff0c 网络机器人 xff0c 在FOAF社区中间 xff0c 更经常的称为网页追逐者 xff09 xff0c 是一种按照一定的规则 xff0c 自动地抓取万维网信息的程序或者脚本 另外
  • 令人头大的单片机延时----这里转一篇关于延时函数的文章看看

    标题 xff1a 转 关于nop 函数 2011 02 11 23 49 29 nop函数可以用来延时 xff0c 请问1个NOP延时多少时间 xff0c 怎么计算 xff1f 附一段说明 xff1a void nop void A NOP
  • Java----File类详解

    File类 Java中所有的目录都被当成File 对待 xff0c 它直接处理文件和文件系统 也就是说 xff0c File类没有指定信息怎样从文件读取或向文件存储 xff1b 它描述了文件本身的属性 File对象用来获取或处理与磁盘文件相
  • UEditor在JavaWeb中的应用

    富文本编辑器 xff08 UEditor xff09 在平时开发Java Web项目的时候 xff0c 往往会使用第三方插件来帮助我们更快的实现功能 这里教大家使用百度开源的富文本编辑器 xff08 UEditor xff09 来帮助我们更
  • DataTables入门

    DataTable是什么 xff1f Datatables是一款jquery表格插件 它是一个高度灵活的工具 xff0c 可以将任何HTML表格添加高级的交互功能 分页 xff0c 即时搜索和排序几乎支持任何数据源 xff1a DOM xf
  • Redis-cli客户端的使用

    启动Redis客户端 进入src目录启动Redis客户端 xff08 前提是先启动Redis Server xff09 redis span class hljs keyword cli span 测试存储数据 span class hlj
  • Node.js简介

    Node js概述 Node js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node js 使用了一个事件驱动 非阻塞式 I O 的模型 xff0c 使其轻量又高效Node js 的包管理器 npm xff0

随机推荐

  • 安装Node.js

    Node js安装包及源码下载地址为 xff1a https nodejs org en download Node js 历史版本下载地址 xff1a https nodejs org dist Window 上安装Node js 32
  • 使用Node.js快速创建web服务

    步骤一 引入 required 模块 span class hljs keyword var span http 61 span class hljs built in require span span class hljs string
  • okhttpUtil信任所有证书

    使用okhttp调用https信任所有证书工具类 请求示例 xff1a 结果 xff1a Caused by span class token operator span javax span class token punctuation
  • 从实际性能剖析,为什么MEMS激光雷达才是未来主流?

    车规级激光雷达的技术路线之争 xff0c 似乎已经逐渐明朗 高工智能汽车 注意到 xff0c 目前 xff0c 包括Innoviz以及国内一径科技 速腾聚创等越来越多的厂商先后推出了车规级MEMS激光雷达 另外 xff0c 需要特别注意的是
  • C++之STL

    定义 STL xff08 Standard Template Library xff09 xff0c 即标准模板库 xff0c 是一个具有工业强度的 xff0c 高效的C 43 43 程序库 它被容纳于C 43 43 标准程序库 xff08
  • C语言之strpbrk函数

    该函数的头文件为 include lt string h gt xff0c 其作用是比较字符串str1和str2中是否有相同的字符 xff0c 如果有 xff0c 则返回该字符在str1中的最先出现的位置的指针 其函数原型如下 xff1a
  • Vb.NET与VB6.0的区别

    Visual Basic NET是Microsoft Visual Studio NET套件中主要组成部分之一 NET版本的Visual Basic增加了更多特性 xff0c 而且演化为完全面向对象 xff08 就像C 43 43 xff0
  • STM32学习--GPIO(寄存器)

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 一 GPIO是什么 xff1f 二 引脚GPIO的输入输入框图输入模式作用 GPIO的输入输入框图输入模式作用 GPIO特性GP
  • c#找到网站中的照片

    c 下载图片 一 过程截图 开始 xff1a 正在下载 下载结束 下载成功了 xff01 xff01 xff01 二 代码实例 代码如下 xff08 示例 xff09 xff1a public delegate span class tok
  • linux同时连接有线无线上网问题

    起因 xff1a linux同时连接有线和无线网时 xff0c 希望用有线连内网组网 xff0c 如OAI EPC组网 xff0c 用无线访问外网 xff0c 但是默认会优先用有线 解决 xff1a 所以设置限制 xff0c 只允许目标地址
  • WK2114(一个异步串口UART 扩展为4个串口UART)

    WK2114是UART接口的4通道UART器件 WK2114将一个标准3线异步串口 xff08 UART xff09 扩展成为4个增强 功能串口 xff08 UART xff09 主接口UART在数据传输时主接口的UART可以通过引脚配置为
  • sql解析:获取Select字段

    https blog csdn net github 26672553 article details 100048506 前面已经了解这个解析sql的第三方库 继续深入学习 比如我们要获取到select查询语句中的字段id name ag
  • go协程池

    编写代码实现了一个计算随机数的每个位置数字之和的程序 要求使用goroutine和channel构建生产者和消费者模式 可以指定启动的goroutine数量 woker pool模式 在工作中我们通常使用workerpool模式 控制gor
  • select多路复用

    在某些场景下我们需要同时从多个通道接收数据 通道在接收数据时 如果没有数据可以接收发生阻塞 你也许会写出代码使用遍历的方式来实现 span class token keyword for span span class token punc
  • 并发安全和锁

    有时候在Go代码中可能会存在多个goroutine同时操作一个资源 xff0c 这种情况会发生数据竞态问题 举例 xff1a var x int64 var wg sync WaitGroup func add for i 61 0 i l
  • 解决import torch 报错:Failed to load image Python extension: warn(f“Failed to load image Python extens

    配置yolov5 下载地址 xff1a torch 和 torchvision的 下载完之后发现import torch没问题 但是import torchvision报错了 查阅资料原来是版本对不上 7条消息 PyTorch碎片 xff1
  • Mac电脑 - “USB 10/100 LAN”的电缆可能未插好,或另一端的设备没有响应。

    Mac突然就无法上网了 有可能装个驱动就好了 xff0c 前提是确保你的网卡芯片是realtek的 解决方法 xff1a 下这个驱动 xff0c 就好了
  • show engine innodb status解读

    注 xff1a 以下内容为根据 高性能mysql第三版 和 mysql技术内幕innodb存储引擎 的innodb status部分的个人理解 xff0c 如果有错误 xff0c 还望指正 xff01 xff01 innodb存储引擎在sh
  • Vuex速学篇:(1)基本套路

    我们前面做了一个这样的页面 xff0c 为了增加我们的学习难度 xff0c 我们特意拆分成了不同的组件 我们知道 xff0c 我们在子组件里并不能直接对兄弟组件里的属性进行操作 xff0c 我们通过this emit 调用父组件的方法 xf
  • ElementUI案例演示:导航、布局、加载动画

    知识点 1 vue router之嵌套路由 http router vuejs org zh cn essentials nested routes html 2 element ui 导航组件 布局组件 加载动画 http element