博客列表 >Vue组件的注册与挂载流程; 路由原理与注册流程 ----0416

Vue组件的注册与挂载流程; 路由原理与注册流程 ----0416

木樨
木樨原创
2021年04月21日 12:01:04779浏览

1. Vue 组件的注册与挂载流程

  1. <!-- 挂载点: 根组件 -->
  2. <div id="root">
  3. <child-component></child-component>
  4. </div>
  5. <script>
  6. // 组件本质上就是一组自定义的标签,可以在html文档出现
  7. // 这个自定义的标签,需要用户自定义的功能,作用,行为
  8. // 创建
  9. // const h2 = document.createElement("h2");
  10. // h2.textContent = "hello vue.js";
  11. // 注册
  12. // document.body.append(h2);
  13. // 组件是可复用的vue实例,
  14. // 1. 创建组件
  15. // const childComponent = Vue.extend({
  16. // template: `<h2> "hello vue.js"</h2> `,
  17. // });
  18. // 2. 注册组件
  19. // Vue.component("child-component", childComponent);
  20. // 二合一
  21. Vue.component("child-component", {
  22. template: `<h2>hello vue.js</h2>`,
  23. });
  24. // 3. 挂载组件
  25. new Vue({
  26. el: "#root",
  27. });
  28. // 注册(直接将创建合并到注册中) + 挂载
  29. </script>

2. 路由原理与注册流程

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>vue路由原理与实现</title>
  8. <link rel="stylesheet" href="style.css" />
  9. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  10. <!-- 路由模块加载 -->
  11. <script src="vue-router-dev/dist/vue-router.js"></script>
  12. </head>
  13. <body>
  14. <!-- 选项卡 -->
  15. <div class="container">
  16. <!-- 导航 -->
  17. <nav>
  18. <!-- router-link: 就是a标签 -->
  19. <!-- to : a 标签 中 的href -->
  20. <router-link to="/list1">国际新闻</router-link>
  21. <router-link to="/list2">国内新闻</router-link>
  22. </nav>
  23. <!-- 这里显示与导航对应的内容 -->
  24. <router-view class="route-view"></router-view>
  25. </div>
  26. <script>
  27. let list1 = {
  28. template: `
  29. <ul>
  30. <li><a href="">世界最大冰山融化解体 曾经覆盖约6000平方公里</a></li>
  31. <li><a href="">为防新冠 东京奥运拟对选手每天实施唾液检测</a></li>
  32. <li><a href="">为防新冠 东京奥运拟对选手每天实施唾液检测</a></li>
  33. </ul>
  34. `,
  35. };
  36. let list2 = {
  37. template: `
  38. <ul>
  39. <li><a href="">31省份已累计报告接种新冠病毒疫苗19502.2万剂次</a></li>
  40. <li><a href="">31省份已累计报告接种新冠病毒疫苗19502.2万剂次</a></li>
  41. <li><a href="">31省份已累计报告接种新冠病毒疫苗19502.2万剂次</a></li>
  42. </ul>
  43. `,
  44. };
  45. // 1. 创建路由对象
  46. const router = new VueRouter({
  47. // 路由配置
  48. routes: [
  49. // 每一个路由参数都是一个对象,每一个对象对应着一个路由
  50. { path: "/list1", component: list1 },
  51. { path: "/list2", component: list2 },
  52. ],
  53. });
  54. // 2. 注册路由
  55. new Vue({
  56. // el: ".container",
  57. // 注册路由
  58. router,
  59. }).$mount(".container");
  60. </script>
  61. </body>
  62. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议