4 vue-cli 新建组件

1 新建home组件替代HelloWorld组件

<template>
  <div>
    主页组件
    <div style="width: 100%;height: 400px;background: aquamarine;">
      数据区域
    </div>
  </div>
</template>

<script>
export default {
  name: "Home",
}
</script>

<style scoped>

</style>

 

2 根路径设置为home组件(修改index.js路径文件)

import Vue from 'vue'
import Router from 'vue-router'
import Home from "../components/Home";

Vue.use(Router)

export default new Router({
  routes: [
    {path: '/', name: 'Home', component: Home}
  ]
})

3 新建user组件

  • user组件

<template>
  <div>
    用户组件
  </div>
</template>

<script>
export default {
  name: "Home"
}
</script>

<style scoped>

</style>
  • index.js配置路由

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from "../components/Home";
import User from "../components/User";

Vue.use(Router)

export default new Router({
  routes: [
    // 访问根路径时,重定向到home
    {path: '/', redirect:"/home"},
    {path: '/home', name: 'Home', component: Home},
    {path: '/user', name: 'User', component: User},
  ]
})

4 组件中引入footer

  • 引入footer
  • 注册footer
  • 使用footer

--home组件加入footer
<template> <div> 主页组件 <div style="width: 100%;height: 400px;background: aquamarine;"> 数据区域 </div> <div> <!-- 使用组件 --> <Footer></Footer> </div> </div> </template> <script> import Footer from "./Footer"; // 引入组件 export default { name: "Home", components: { Footer, // 注册组件 } } </script> <style scoped> </style>
-- user组件加入footer
<template> <div> 用户组件<br> <!-- 引入图片 --> <img src="../assets/logo.png"> <div> <table border="1" > <tr> <th>id</th> <th>name</th> <th>opt</th> </tr> <tr v-for="user in users"> <td>{{user.id}}</td> <td>{{user.name}}</td> <td> <a href="">编辑</a> <a href="">删除</a> </td> </tr> </table> </div> <div> <!-- 使用组件 --> <Footer></Footer> </div> </div> </template> <script> import Footer from "./Footer"; export default { name: "Home", data() { return{ users:[ {id:1, name:"张飞"}, {id:2, name:"关羽"}, ] } }, components: { Footer, }, created() { // 发送axios请求 } } </script> <style scoped> </style>

 

 5 总结

组件分类:
1 路由组件(在index.js配置路由用到的组件)
2 普通组件(在路由组件中调用)

 

6 前端路由hash模式和url模式(index.js中设置mode="history")

export default new Router({
  mode: "history",
  routes: [
    // 访问根路径时,重定向到home
    {path: '/', redirect:"/home"},
    {path: '/home', name: 'Home', component: Home},
    {path: '/user', name: 'User', component: User},
  ]
})

 

 

posted @ 2021-04-25 14:09  栗子测试开发  阅读(105)  评论(0)    收藏  举报