入门

Vue3的教程很少,官方网站实例不好整,另外由于Python的Django也掌握了,学习这个有些让人眼乱。Vue项目创建后,在public目录下面自动生成了一个index.htm,里面有个div id="app",这就是简单实例中需要mount的入口,整了半天才发现。

Vue程序的入口,是main.js文件,里面要完成以下工作。

导入createApp

import createApp from "vue"

注意这个vue,我的理解应该是js/vue.js这个文件。

导入待填充index.html中app标签的Vue文件

import App from "./views/Home.vue"

注意这个Home.vue就写全了,它在src/views目录下存放。

声明App并填充实例

createApp(App).mount("#app")

上面的命令很强大,一是声明用Home.vue文件中name:"App"的export default生成一个网页模块,并把它的内容填充到id="app"的div中,生成网页供用户使用。

实例:Vue模块嵌套

普通的Vue使用就不用说了,我们讲一个实际应用中采用模块化开发应用十分常见的方法:Vue文件嵌套使用。

场景

在主页上定制一个Button,点击后自动隐藏或显示一个区别内容,该区域可以是权限声明,也可以是其它信息。

定制Modal.vue

位置:src/views/Modal.vue

代码:

<template> <div class="modal"> <slot></slot> </div> </template>

注意事项:这里有个slot命令,是Vue中用以继承父模块待显示的内容,即这个modal的Div下面,需要显示的内容,我的理解,父级引用时,声明一个moda,然后加一个标签项,该项内容将会在Modal模块中继承和显示。

主界面的template

文件: src/views/Home.vue

<template> <button @click="onModalClick">{{modalFlag?"Close modal":"Open Modal"}}</button> <modal v-if="modalFlag"> <p>Modals would be appeared here when modalFlag is true.</p> </modal> </template>

注意:这里的moda,是Modal。vue这个子组件中定义的,在主文件中使用时,并不需要再定义和引用。

主界面中的script声明

需要声明和引用以下部分内容:

import Modal from "./Modal.vue" import { ref } from "vue";

注意由于Modal.vue和Home.vue都是在一个views目录下,因此这个路径是当前目录,注意别路径错误提示找不到module了呢。

默认参数导出

//exports default export default { name:"Home", components:{ Modal }, setup(){ const modalFlag=ref(false); const onModalClick=()=>{ modalFlag.value=!modalFlag.value; } return { modalFlag, onModalClick } } }

上面一段代码中需要注意的是:

默认导出

export default声明,default是否能够修改,如何改,尚未获得相关信息。

name

name的值一定要有,这个是import 的对象,可以自定义,也可以与函数名称不一致,建议保持一致吧。

components声明

当使用嵌套时,必须将导入的组件作为子组件予以声明,这里有多少个可以导入多少个,比如常见的footer、nav、logo、copyright等。

setup()

一定不要太英语化思维,不是setups,注意这里面存储所有的页面数据元素,可以是简单数据ref,也可以是复杂的reactive,数据要交给template,必须return相应数据,只有return出的数据template才能正常使用。

箭头函数

这个是JS的坑,适应吧,可用于参数赋值,也可以无参函数声明。

总结

Vue3入门搞明白的流程基本上就是这些。要具体使用,还有很多事情要整,但起了第一步。

Vue3学习第一例:Vue3架构入门的更多相关文章

  1. vue3 学习笔记 (四)——vue3 setup() 高级用法

    本篇文章干货较多,建议收藏! 从 vue2 升级到 vue3,vue3 是可以兼容 vue2 的,所以 vue3 可以采用 vue2 的选项式API.由于选项式API一个变量存在于多处,如果出现问题时 ...

  2. vue3 学习笔记 (五)——vue3 的 setup 如何实现响应式功能?

    setup 是用来写组合式 api ,内部的数据和方法需要通过 return 之后,模板才能使用.在之前 vue2 中,data 返回的数据,可以直接进行双向绑定使用,如果我们把 setup 中数据类 ...

  3. [EntLib]微软企业库5.0 学习之路——第一步、基本入门

    话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在 ...

  4. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.7 Adding a wms layer

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.7 Adding a wms layer 前言 Add OGC WMS Layers( ...

  5. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.6 Defining Projections and Extents

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.6 Defining Projections and Extents 一.前言 当在m ...

  6. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a raster layer

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.5 Adding a  raster layer 一.前言 MapServer不仅支持 ...

  7. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map 一.前言 MapServer拥有非常灵活的标签 ...

  8. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.3 Displaying Classes in a Layer 一.前言 关于第一节的 ...

  9. MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.2 Static Map with Two Layers

    MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example1.2 Static Map with Two Layers 一.前言 上一篇博客< ...

随机推荐

  1. 整合Spring Cloud Stream Binder与RabbitMQ进行消息发送与接收

    我最新最全的文章都在南瓜慢说 www.pkslow.com,欢迎大家来喝茶! 1 前言 Spring Cloud Stream专门用于事件驱动的微服务系统,使用消息中间件来收发信息.使用Spring ...

  2. 铂金07:整齐划一-CountDownLatch如何协调多线程的开始和结束

    欢迎来到<并发王者课>,本文是该系列文章中的第20篇. 在上一篇文章中,我们介绍了Condition的用法.在本文中,将为你介绍CountDownLatch的用法.CountDownLat ...

  3. Spring Boot Docker

    1.  IDEA中配置Docker Docker默认只接受本地客户端的请求,为了能够远程访问它,首先要开放Docker的监听端口,运行外部应用可以访问 修改 /lib/systemd/system/d ...

  4. c++实现希尔密码

    实验名称: 希尔密码的实现(c++版;本文只以26个大写英文字符作为加密后的密文的可选项) 实验原理: 引用知识: 记 Zm={0,1,2,...,m-1} 定义1:设A为定义在集合Zm 上的n阶方阵 ...

  5. 海康威视摄像头入侵+fofa(CVE-2017-7921)

    海康威视摄像头入侵+fofa(CVE-2017-7921) By:Jesse 重保期间实在是太无聊,于是就找了个海康威视的摄像头日日玩,结果一玩就是一天呢哈哈哈. 1.漏洞编号 CVE-2017-79 ...

  6. Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

    本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 大家好,我是小富- 对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服 ...

  7. 「万字图文」史上最姨母级Java继承详解

    摘要:继承是面向对象软件技术中的一个概念.它使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用. 本文分享自华为云社区<「万字图文」史上最姨母级Java继承详解丨[奔跑吧!JAVA] ...

  8. Kafka:Springboot整合Kafka消息队列

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 项目结构 pom依赖包 <?xml version="1 ...

  9. Dubbo:dubbo管理界面安装

    首先需要Tomcat.Zookeeper安装后在进行安装Dubbo管理界面  提供Dubbo-admin管理界面war包: https://github.com/zhaoyue123ABC/Publi ...

  10. java封装继承以及多态(含代码)

    封装 该露的露,该藏的藏 我们常需设计要追求,"高内聚,低耦合".高内聚就是类的内部数据操作细节自己完成.不允许外部干涉:低耦合:仅暴漏少量的方法给外部使用. 封装(数据的隐藏) ...