elementui案例演示导航布局加载动画.docx

上传人:b****7 文档编号:25769109 上传时间:2023-06-13 格式:DOCX 页数:10 大小:17.38KB
下载 相关 举报
elementui案例演示导航布局加载动画.docx_第1页
第1页 / 共10页
elementui案例演示导航布局加载动画.docx_第2页
第2页 / 共10页
elementui案例演示导航布局加载动画.docx_第3页
第3页 / 共10页
elementui案例演示导航布局加载动画.docx_第4页
第4页 / 共10页
elementui案例演示导航布局加载动画.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

elementui案例演示导航布局加载动画.docx

《elementui案例演示导航布局加载动画.docx》由会员分享,可在线阅读,更多相关《elementui案例演示导航布局加载动画.docx(10页珍藏版)》请在冰豆网上搜索。

elementui案例演示导航布局加载动画.docx

elementui案例演示导航布局加载动画

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

知识点

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-menutheme="dark"default-active="1"class="el-menu-demo"mode="horizontal":

router="true">

el-menu-itemindex="/elindex/hot">处理中心/el-menu-item>

el-submenuindex="2">

templateslot="title">我的工作台/template>

el-menu-itemindex="2-1">选项1/el-menu-item>

el-menu-itemindex="2-2">选项2/el-menu-item>

el-menu-itemindex="2-3">选项3/el-menu-item>

/el-submenu>

el-menu-itemindex="3">订单管理/el-menu-item>

/el-menu>

/template>12345678

el-index:

template>

div>

el-row>

el-col:

span="24">divclass="grid-contentbg-purple-dark">div>el-col>

elnav>elnav>

el-row>

router-view>router-view>

div>

template>

 

script>

//引入elmenetui的导航组件

importelnavfrom"./el-nav.vue";

exportdefault{

//加载组件

components:

{elnav}

}

script>12345678910111213141516171819202122

el-hot.vue:

template>

div>

el-rowv-for="hotNewsinthis.$store.state.ele.hot"justify="start":

gutter="2"align="middle">

el-col:

span="6">

divclass="grid-contentbg-purple-darkhotimg">

img:

src="hotNews.image"/>

div>

el-col>

el-col:

span="18">

divclass="grid-contentbg-purple-darkhotcontent">

h2>{{hotNews.title}}h2>

p>{{hotNews.desc}}p>

div>

el-col>

el-row>

div>

template>script>

exportdefault{

mounted(){

this.$store.dispatch("getHot");

},

data(){

return{msg:

"hellovue"}

}

}

script>1234567891011121314151617181920212223242526

eleModule.js:

importVuefrom"vue";

exportdefault{

state:

{

hot:

[]//用来装请求回来的数据

},

mutations:

{

//写个方法给hot数组设置数据

setHot(state,data){

state.hot=data;

}

},

actions:

{

//写个方法,做http请求

getHot(content){

//loading效果

letloading=Vue.prototype.$loading({text:

"玩命加载中..."});

Vue.http.get("http:

//localhost/eleui.php",{},{emulateJSON:

true})

.then(

function(res){//请求成功的回调函数

//先结束loading效果

loading.close();

//调用设置hot数据的方法,把请求成功的数据给hot数组

mit("setHot",res.body);

},function(){}

);

}

}

}1234567891011121314151617181920

入口文件jssrc/index.js:

importVuefrom"vue";importpagenavfrom"./../components/page-nav.vue";

importnewsdetailfrom"./../components/news-detail.vue";

//引入

importvalidatefrom"./../components/validate";

//使用

Vue.use(validate);

importVueRouterfrom'vue-router';

Vue.use(VueRouter);//全局使用插件

importVueResourcefrom'vue-resource';

Vue.use(VueResource);

importUserModulefrom"./../store/modules/UserModule";

importNewsModulefrom"./../store/modules/NewsModule";

importEleModulefrom"./../store/modules/eleModule";

importVuexfrom'vuex';

Vue.use(Vuex);

importElementUIfrom'element-ui';

import'element-ui/lib/theme-default/index.css';

Vue.use(ElementUI);

importeltablefrom"./../components/el-table.vue";

importelindexfrom"./../components/elmentui/el-index.vue";

importelhotfrom"./../components/elmentui/el-hot.vue";

constvuex_store=newVuex.Store({

modules:

{

users:

UserModule,

news:

NewsModule,

ele:

EleModule

}

})

constuserlogin=resolve=>{

//成功之后的回调

resolve(require("./../components/user-login.vue"));//这就是异步加载的方式

}

constnewslist=resolve=>{

//成功之后的回调

resolve(require("./../components/news-list.vue"));//这就是异步加载的方式

}

constrouterConfig=newVueRouter({

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"}

]}

]

})

//全局组件,不加入路由管理

Vponent("page-nav",pagenav);

letmyvue=newVue({

el:

".container",

store:

vuex_store,//注入到vue

router:

routerConfig,

});123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

代码分析

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

importelnavfrom"./el-nav.vue";

components:

{elnav}1212

elnav>elnav>1212

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

//引入

importEleModulefrom"./../store/modules/eleModule";

//使用

constvuex_store=newVuex.Store({

modules:

{

users:

UserModule,

news:

NewsModule,

ele:

EleModule

}

})1234567891012345678910

3、给ele配置路由

//引入

importelindexfrom"./../components/elmentui/el-index.vue";

importelhotfrom"./../components/elmentui/el-hot.vue";

//配置

constrouterConfig=newVueRouter({

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"}

]}

]

})12345678910111213141516171234567891011121314151617

这里用到了嵌套路由:

{path:

'/elindex',component:

elindex,name:

"elindex",children:

[

{path:

"hot",component:

elhot,name:

"elhot"}

]}123123

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

router-view>router-view>1212

/elindex/hot

效果演示

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"=>"

["title"=>"iPhone炸完iPad炸苹果要重蹈三星覆辙?

","desc"=>"宁波林先生怎么也没想到,这么悲催的事情居然发生在自己头上:

他用了一年多的iPad半夜在充电时爆炸了,不仅写字台被炸开了一个洞,iPad零件更是炸得整个房间到处都是。

”","image"=>"

["title"=>"遭唱衰的苹果接连公布利好:

AppStore上月营收创纪录","desc"=>"腾讯科技讯目前的苹果,已经进入了库克接手之后最困难的阶段,几乎全部电子产品销售出现同比下跌,财年收入出现了十多年来首次下滑。

另外今年推出的新手机也遭遇了类似去年的低迷命运。

”","image"=>"

];sleep

(2);//模拟网速很卡

echo$data,JSON_UNESCAPED_UNICODE);//精选123456789101112131415161718192021123456789101112131415161718192021

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1