Vue初始化项目加载逻辑

news2024/11/26 16:40:05

Vue初始化项目加载逻辑

项目创建

我们只需要创建项目即可,剩余的依赖都没必要安装

我们先来看main.js,咱们加了一行备注

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app') // 挂载id='app' , 链接到index.html中的app,并使用template引入组件<App>和路由相关的内容。也就是说通过main.js关联到App.vue组件。

通过备注可知,我们首先加载的是App.vue
我们再来看一下App.vue 里都有啥

<template>
  <div id="app">
    <nav>
      <!-- App.vue中其实就是两个链接而已 -->
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link>
    </nav>
    <!-- Vue 路由中的 <router-view> 是用来承载当前级别下的子级路由的一个视图标签;
    此标签的作用就是显示当前路由级别下一级的页面。
    就比如说App.vue是根组件,在它的<template>标签里使用<router-view>,而且配置好路由的情况下,就能在浏览器上显示子组件的效果;
    子组件要想在页面中显示出来,一定要留好<router-view>容器,不然显示不出来;
    如果这个子组件路由还有孩子路由,那也需要在子组件的<template>标签里使用<router-view>,这样就能在页面上显示子组件的孩子组件的效果;
    注意:一定要使用这个<router-view>,不然页面效果就出不来 -->
    <router-view/>
  </div>
</template>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}

nav {
  padding: 30px;
}

nav a {
  font-weight: bold;
  color: #2c3e50;
}

nav a.router-link-exact-active {
  color: #42b983;
}
</style>

也就是下面这个红框里的内容才是
在这里插入图片描述
那下面的内容是哪里来的呢
那就需要看一下路由设置了

import Vue from 'vue'
import VueRouter from 'vue-router'
import HomeView from '../views/HomeView.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'home',
    component: HomeView
  },
  {
    path: '/about',
    name: 'about',
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () => import(/* webpackChunkName: "about" */ '../views/AboutView.vue')
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

我们看到/目录i指向了home
再想想之前App.vue中的router-view标签,我是这么理解
App.vue是所有标签的父亲,其他的页面都是在它的基础上渲染出来的,所以router-view标签
是必要的,具体表象就是不管是选中了home还是about标签,这两个标签都在,不会消失的

在这里插入图片描述

再回来说这个/目录i指向了home
这个HomeView.vue里有什么呢

<template>
  <div class="home">
    <img alt="Vue logo" src="../assets/logo.png">
    <HelloWorld msg="Welcome to Your Vue.js App"/>
  </div>
</template>

<script>
// @ is an alias to /src
import HelloWorld from '@/components/HelloWorld.vue'

export default {
  name: 'HomeView',
  components: {
    HelloWorld
  }
}
</script>

里面有这么个标签

<HelloWorld msg="Welcome to Your Vue.js App"/>

那这个HelloWorld 标签对应的是这两段引入进来通过标签的方式使用的

import HelloWorld from '@/components/HelloWorld.vue'

  components: {
    HelloWorld
  }

那我们就来看看这个HelloWorld.vue里有什么
只截取了template

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <p>
      For a guide and recipes on how to configure / customize this project,<br>
      check out the
      <a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
    </p>
    <h3>Installed CLI Plugins</h3>
    <ul>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router" target="_blank" rel="noopener">router</a></li>
      <li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-vuex" target="_blank" rel="noopener">vuex</a></li>
    </ul>
    <h3>Essential Links</h3>
    <ul>
      <li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
      <li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
      <li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
      <li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
      <li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
    </ul>
    <h3>Ecosystem</h3>
    <ul>
      <li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
      <li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
      <li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
      <li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
      <li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
    </ul>
  </div>
</template>

其中

<h1>{{ msg }}</h1>

的msg就是HomeView.vue的msg传递过来的

<HelloWorld msg="Welcome to Your Vue.js App"/>

其实HomeView啥都没干,只是传了一个值给HelloWorld.vue,内容都是HelloWorld.vue的

我们再来看一下AboutView.vue里都有啥吧

<template>
  <div class="about">
    <h1>This is an about page</h1>
  </div>
</template>

很简单,就只是一个标题而已,对应的页面也是这样的

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/615975.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

汇众智,奔涌向前赢未来 | 2023开放原子全球开源峰会 OpenAtom openEuler 分论坛即将启幕

OpenAtom openEuler&#xff08;以下简称“openEuler”&#xff09;自 2021 年贡献给开放原子开源基金会后&#xff0c;步入高速发展阶段&#xff0c;社区每日活跃开发者近 4000 人&#xff0c;新增讨论 2168 次&#xff0c;代码合入 127 个、软件包 31 个&#xff1b;每月新增…

【python】之cowsay库,打印图案!

以前经常看到互联网大佬的Linux shell脚本启动的时候显示一副炫酷的字符画面&#xff0c;逼格瞬间提升一个档次&#xff0c;按说字符拼画也不是什么难事&#xff0c;只要有时间、有耐心(然鹅大部分人这两样都没有)。 网上流传着一个很老的库cawsay牛说。cowsay是一个生成ASCII…

MMDection学习记录(一)之环境配置

Linux下环境配置 创建环境并激活 conda create --name openmmlab python3.7 -y conda activate openmmlab安装Pytorch 建议使用pip命令安装&#xff0c;否则会报错&#xff1a; symbol free_gemm_select version libcublasLt.so.11 not defined in file libcublasLt.so.11 w…

24节气-芒种 || 一分耕耘,一分收获。

“时雨及芒种&#xff0c;四野皆插秧。” 芒种&#xff0c;农历二十四节气中的第 9 个节气&#xff0c;夏季的第 3 个节气&#xff0c;表示仲夏时节的正式开始。 芒种意味着谷物播种的好时机&#xff0c;农事耕种的劳动量会大大增加&#xff0c;因此芒种也有“忙种”的说法。…

TrueBot活动的惊人激增揭示了新的交付载体

网络安全研究人员披露&#xff0c;在2023年5月观察到TrueBot活动激增的情况。 "VMware的Fae Carlisle说&#xff1a;"TrueBot是一个下载器木马僵尸网络&#xff0c;它使用命令和控制服务器来收集被攻击系统的信息&#xff0c;并将被攻击系统作为进一步攻击的发起点。…

云原生网关Apache APISIX

Apache APISIX 介绍 什么是Apache APISIX Apache APISIX 是一个动态、实时、高性能的云原生 API 网关&#xff0c;提供了负载均 衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功 能。可以使用 Apache APISIX 处理传统的南北向流量&#xff0c;也可以…

数据可视化 - 派可数据商业智能BI可视化分析平台

有一点可能很多人没有想到&#xff0c;实际上商业智能BI的相关概念已经有了数十年的发展历史。在这段发展过程中&#xff0c;商业智能BI形成了一套成熟的理论和产品体系&#xff0c;并且在现代的信息化、数字化加成下&#xff0c;成为了各行各业企业的成熟产品。 一、商业智能…

ROS学习笔记(十):机器人建模

ROS学习笔记&#xff08;十&#xff09;&#xff1a;机器人建模 统一机器人描述格式&#xff08;URDF&#xff09;link标签joint标签robot标签gazebo标签 URDF检查URDF可视化 统一机器人描述格式&#xff08;URDF&#xff09; URDF&#xff08;Unified Robot Description Form…

springboot项目 + rancher管理 实现用户无感知部署

springboot项目 rancher管理 实现用户无感知部署 rancher/yaml设置 在rancher找到对应服务的config&#xff0c;将Minimum Ready设置为合适的时间&#xff08;单位为秒&#xff09; 或者以yaml文件修改配置&#xff0c;但是在yaml配置中是叫minReadySeconds spec: # 定义de…

95后自述,00后都这么卷了吗?

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&#x…

【云原生 · Docker】轻松学会dockerfile构建镜像

目录 &#x1f349;dockerfile是什么 &#x1f349;镜像的缓存特性 &#x1f349;dockerfile命令 &#x1f352;FROM &#x1f352;RUN &#x1f352;CMD &#x1f352;LABEL &#x1f352;EXPOSE &#x1f352;ENV &#x1f352;ADD &#x1f352;COPY &#x1f352;ENTRYPOIN…

浅析国有企业信息化建设的难点及解决对策

01 国有企业信息化部门主要做什么&#xff1f; 国有企业信息化部门负责在企业范围内推进信息化工作。他们的职责包括但不限于&#xff1a;制定信息化战略和规划、实施信息化项目、管理信息系统和网络、维护和升级软硬件、开发新的数字化产品和服务、提高信息安全和数据隐私等。…

【正点原子STM32连载】 第二十七章 RTC实时时钟实验摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

spring 注解 @RequestPart @RequestParam 获取文件流 MultipartFile ,读取Excel等文件

RequestPart RequestPart这个注解用在 multipart/form-data 表单提交请求的方法上。 RequestParam 也可以携带文件 RequestParam也同样支持 multipart/form-data 请求。 RequestParam和RequestPart的区别 RequestParam 适用于 name-valueString 类型的请求域&#xff0c;R…

毕业五六年,明明技术越来越好,而我混的却越来越惨了...

别人都是越来越好&#xff0c;而我是越来越差&#xff01; 至于为什么会这样&#xff0c;可能是因为自己年轻气盛&#xff1b;也可能学历不高&#xff0c;仅仅是个本科&#xff1b;也可能是因为整体环境不好&#xff1b;也可能是能力不足&#xff1b;也可能是运气不好......也可…

python-常用的内置函数

文章目录 一、函数的引入二、变量的作用域三、参数传递四、常见的4类形参1. 必选参数:必须要传递的参数2. 默认参数:可传可不传的参数3. 可变参数: 参数的个数会变化&#xff0c;可以传0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;......n4. 关键字参数:可以传递key和…

前端web入门-CSS-day05

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 选择器 结构伪类选择器 :nth-child(公式) 伪元素选择器 盒子模型 组成 边框线 内边距 内边距 – …

2023护网面试题200道(附答案)

最近日入1000的护网行动已经开始摇人了&#xff0c; 不少大学生在后台私信我如何参加护网、面试问些什么、有没有护网内推 作为一个负责任的博主&#xff0c;收到大家反馈的我&#xff0c;连夜发动钞能力&#xff0c;收集整理了一套护网蓝初面试文档 1. 什么是DDoS攻击&#x…

linux重装yum

1.先确定linux版本 cat /etc/redhat-release &#xff1b; 查看已安装的yum rpm -qa|grep yum 1 删除已有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 1 下载以下安装包 http://mirrors.163.com/centos/7/os/x86_64/Packages/ 下载最新版本 安装 用FIleZillia 上传的服务…

chatgpt赋能python:Python数据分析

Python数据分析 什么是Python数据分析 Python是一种简单易学、功能强大的编程语言&#xff0c;它是数据科学中最常用的开发语言之一。数据分析是Python的主要用途之一。Python的开源性、易于使用和拥有强大的数据科学库使它成为学术和商业环境下最受欢迎的数据分析工具之一。…