vue项目练习第二天

1.定义全局组件
因为头部和尾部每个页面都会用到,所以将这两个定义为Navigation和Footer两个全局组件,全局组件定义在components文件夹中
在这里插入图片描述
Navigation组件的代码如下:

<template>
  <el-header>
    <el-image
          class="logo"
      :src="require('@/assets/logo.png')"
      fit="cover"></el-image>
    <el-menu
      :default-active="activeIndex"
      class="el-menu-demo tright"
      mode="horizontal"
      @select="handleSelect"
    >
      <el-menu-item index="1">首页</el-menu-item>
      <el-menu-item index="2">试卷中心</el-menu-item>
      <el-menu-item index="3">视频课堂</el-menu-item>
      <el-menu-item index="4">智能训练</el-menu-item>
      <el-menu-item index="5">考试记录</el-menu-item>
      <el-menu-item index="6">
        <a target="_blank">错题本</a>
      </el-menu-item>
        <el-dropdown trigger="click">
          <el-image
          class="img"
      :src="require('@/assets/login.jpg')"
      fit="cover"></el-image>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item>黄金糕</el-dropdown-item>
            <el-dropdown-item>狮子头</el-dropdown-item>
            <el-dropdown-item>螺蛳粉</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
    </el-menu>
    <div class="line"></div>
  </el-header>
</template>
<script>
export default {
  data() {
    return {
      activeIndex: "1"
    };
  },
  methods: {
    handleSelect(key, keyPath) {
      console.log(key, keyPath);
    }
  }
};
</script>
<style scoped>
.tright {
  float: right;
  border-bottom:0px!important;
}
.logo{
  height: 50px;
  margin: 6px 0px 0px 15px;
}
.img{
width: 40px; 
height: 40px; 
border-radius:50%;
margin-right: 20px;
margin-top: 10px;
}
</style>

Footer组件的代码如下:

<template>
    <el-footer class="footer">
        <div class="footer-container">
      <div class="footerList">
        <div class="footerItem">
          <h4>购物指南</h4>
          <ul class="footerItemCon">
            <li>购物流程</li>
            <li>会员介绍</li>
            <li>生活旅行/团购</li>
            <li>常见问题</li>
            <li>购物指南</li>
          </ul>
        </div>
        <div class="footerItem">
          <h4>配送方式</h4>
          <ul class="footerItemCon">
            <li>上门自提</li>
            <li>211限时达</li>
            <li>配送服务查询</li>
            <li>配送费收取标准</li>
            <li>海外配送</li>
          </ul>
        </div>
        <div class="footerItem">
          <h4>支付方式</h4>
          <ul class="footerItemCon">
            <li>货到付款</li>
            <li>在线支付</li>
            <li>分期付款</li>
            <li>邮局汇款</li>
            <li>公司转账</li>
          </ul>
        </div>
        <div class="footerItem">
          <h4>售后服务</h4>
          <ul class="footerItemCon">
            <li>售后政策</li>
            <li>价格保护</li>
            <li>退款说明</li>
            <li>返修/退换货</li>
            <li>取消订单</li>
          </ul>
        </div>
        <div class="footerItem">
          <h4>特色服务</h4>
          <ul class="footerItemCon">
            <li>夺宝岛</li>
            <li>DIY装机</li>
            <li>延保服务</li>
            <li>尚品汇E卡</li>
            <li>尚品汇通信</li>
          </ul>
        </div>
        <div class="footerItem">
          <h4>帮助中心</h4>
          <img src="@/assets/10.jpg" />
        </div>
      </div>
      <div class="copyright">
        <ul class="helpLink">
          <li>
            关于我们
            <span class="space"></span>
          </li>
          <li>
            联系我们
            <span class="space"></span>
          </li>
          <li>
            关于我们
            <span class="space"></span>
          </li>
          <li>
            商家入驻
            <span class="space"></span>
          </li>
          <li>
            营销中心
            <span class="space"></span>
          </li>
          <li>
            友情链接
            <span class="space"></span>
          </li>
          <li>
            关于我们
            <span class="space"></span>
          </li>
          <li>
            营销中心
            <span class="space"></span>
          </li>
          <li>
            友情链接
            <span class="space"></span>
          </li>
          <li>关于我们</li>
        </ul>
        <p>地址:北京市昌平区</p>
        <p>京ICP备190000000号</p>
      </div>
    </div>
    </el-footer>
</template>
<script>
export default {
    
}
</script>
<style scoped lang="less">
.footer {
  
background-color: #f7fbfd;
height: 100%!important;
  .footer-container {
    width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    .footerList {
      padding: 60px;    
      overflow: hidden;
      padding-left: 80px;

      .footerItem {
        width: 16.6666667%;
        float: left;

        h4 {
          font-size: 14px;
        }

        .footerItemCon {
          li {
            line-height: 18px;
          }
        }

        &:last-child img {
          width: 121px;
        }
      }
    }

    .copyright {
      padding: 20px;

      .helpLink {
        text-align: center;

        li {
          display: inline;

          .space {
            border-left: 1px solid #666;
            width: 1px;
            height: 13px;
            background: #666;
            margin: 8px 10px;
          }
        }
      }

      p {
        margin: 10px 0;
        text-align: center;
      }
    }
  }
}
</style>

因为这里用到了less,所以需要先安装less和less-loader

npm install less less-losder -S

最后在app.vue组件中引入
在这里插入图片描述
现在即可运行
在这里插入图片描述
全局组件写完,接下来就是home页面的内容组件了。
在此之前我们需要先配置router,在router文件中添加如下代码:

//配置路由的文件
import Vue from 'vue';
import VueRouter from 'vue-router';

//引入路由
Vue.use(VueRouter);
//引入路由组件
import Home from '@/pages/Home';

//配置跳转路由信息
export default new VueRouter({
    routes: [{
            name: 'home',
            path: '/home',
            component: Home,
            meta: { show: true }
        },
        {
            path: '/',
            redirect: '/home'
        }
    ]
})

并且需要在pages文件夹中添加home组件,最后需要给他指定显示的位置,用router-view来完成。这里是在app.vue中来显示的。

在这里插入图片描述
最后在home组件中完成局部组件的代码,这样一个简单的页面就完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值