当前位置: 首页 > news >正文

Vue 工程化开发入门

Vue开发的两种方式:

  1. 核心包传统开发模式:基于html/css/js文件,直接引入核心包,开发Vue
  2. 工程化开发模式:基于构建工具的环境中开发Vue

这里选择Vue cli脚手架 进行开发,搜索教程自行下载。

组件化开发

一个页面可以拆分成多个组件,每个组件有自己独立的结构、样式、行为;

便于维护,利于复用,能够提升开发效率

根组件

整个应用最上层的组件,包裹所有普通组件

App.vue文件组成部分

  1. template:结构(有且只能有一个根元素)
  2. script:js逻辑
  3. styple:样式(可支持less,需要安装包)

 

<template><div class="App"><div class="box" @click="fn"></div></div>
</template><script>
// 导出的是当前组件的配置项
// 里面可以提供 data(特殊) methods computed watch 生命周期八大钩子
export default {created () {console.log('我是created')},methods: {fn () {alert('你好')}}
}
</script><style lang="less">
/* 让style支持less1. 给style加上 lang="less"2. 安装依赖包 less less-loaderyarn add less less-loader -D (开发依赖)
*/
.App {width: 400px;height: 400px;background-color: pink;.box {width: 100px;height: 100px;background-color: skyblue;}
}
</style>

安装less less-loader依赖包:

终端 ctrl+c 停止服务,输入“yarn add less less-loader -D” 

在本地输入yarn-v命令,发现没安装yarn,输入npm install -g yarn,安装成功后,

在vscode进入终端,分别输入yarn add less less-loader -D和yarn serve

启动服务:

在终端输入yarn serve,再点开链接,每次都需要启动服务

组件注册

输入尖括号,选择第一个,自动生成

局部注册

只能在注册的组件内使用

步骤:

  1. 创建.vue文件(三个组件使用)
  2. 在使用的组件内导入并注册  components:{组件名: 组件对象}

组件名规范:大驼峰命名法

MyHeader.vue

<template><div class="my-header">header</div>
</template><script>
export default {}
</script><style>
.my-header{height: 100px;line-height:100px;text-align: center;font-size: 30px;background-color: coral;color:white;
}
</style>

App.vue

<template><div class="App"><!-- 头部组件 --><MyHeader></MyHeader><!-- 主体组件 --><MyMain></MyMain><!-- 底部组件 --><MyFooter></MyFooter></div>
</template><script>
import MyHeader from './components/MyHeader.vue'
import MyMain from './components/MyMain.vue'
import MyFooter from './components/MyFooter.vue'
export default {components:{MyHeader: MyHeader,MyMain: MyMain,MyFooter: MyFooter}
}
</script><style>
.App {width: 600px;height: 700px;background-color: #87ceeb;margin: 0 auto;padding: 20px;
}
</style>

全局注册

所有组件内部都能使用

步骤:

  1. 创建.vue文件(三个组成部分)
  2. main.js中进行全局注册     Vue.component(组件名, 组件对象)

 MyButton.vue

<template><button class="my-button">通用按钮</button></template><script>export default {}</script><style>.my-button {height: 50px;line-height: 50px;padding: 0 20px;background-color: #3bae56;border-radius: 5px;color: white;border: none;vertical-align: middle;cursor: pointer;}</style>

main.js

import Vue from 'vue'
import App from './App.vue'
// 编写导入的代码,往代码的顶部编写(规范)
import MyButton from './components/MyButton'
Vue.config.productionTip = false// 进行全局注册 → 在所有的组件范围内都能直接使用
// Vue.component(组件名,组件对象)
Vue.component('MyButton', MyButton)new Vue({render: (createElement) => {return createElement(App)}
}).$mount('#app')

一般都用局部注册,如果发现是通用组件,再抽离到全局

相关文章:

Vue 工程化开发入门

Vue开发的两种方式&#xff1a; 核心包传统开发模式&#xff1a;基于html/css/js文件&#xff0c;直接引入核心包&#xff0c;开发Vue工程化开发模式&#xff1a;基于构建工具的环境中开发Vue 这里选择Vue cli脚手架 进行开发&#xff0c;搜索教程自行下载。 组件化开发 一个页…...

车牌号识别系统:PyQT5+QT Designe+crnn/PaddleOCR+YOLO+OpenCV矫正算法。

PyQT5&QT Designecrnn/PaddleOCRYOLO传统OpenCV矫正算法。可视化的车牌识别系统项目。 车牌号识别系统 项目绪论1.项目展示2.视频展示3.整体思路 一、PyQT5 和 QT Designer1.简介2.安装3.使用 二、YOLO检测算法三、OpenCV矫正算法四、crnn/PaddleOCR字符识别算法五、QT界面…...

【基于MAX98357的Minimax(百度)长文本语音合成TTS 接入教程】

【基于MAX98357的Minimax&#xff08;百度&#xff09;长文本语音合成TTS 接入教程】 1. 前言2. 先决条件2.1 硬件准备2.2 软件准备2.3 接线 3. 核心代码3.1 驱动实现3.2 代码解析 4. 播放文本5. 结论 视频地址&#xff1a; SeeedXIAO ESP32S3 Sense【基于MAX98357的Minimax&am…...

秋招后端开发面试题 - JVM底层原理

目录 JVM底层原理前言面试题Java 对象的创建过程&#xff1f;什么是指针碰撞&#xff1f;什么是空闲列表&#xff1f;/ 内存分配的两种方式&#xff1f;JVM 里 new 对象时&#xff0c;堆会发生抢占吗&#xff1f;JVM 是怎么设计来保证线程安全的&#xff1f;/ 内存分配并发问题…...

VUE2从入门到精通(一)

**************************************************************************************************************************************************************************** 1、课程概述 【1】前置储备&#xff1a;HTMLCSSJS、WebAPI、Ajax、Node.js 【2】1天&…...

cmake进阶:文件操作之写文件

一. 简介 cmake 提供了 file() 命令可对文件进行一系列操作&#xff0c;譬如读写文件、删除文件、文件重命名、拷贝文件、创建目录等等。 接下来 学习这个功能强大的 file() 命令。 本文学习 CMakeLists.txt语法中写文件操作。 二. cmake进阶&#xff1a;文件操作之写文件…...

ubuntu 安装单节点HBase

下载HBase mkdir -p /home/ellis/HBase/ cd /home/ellis/HBase/ wget https://downloads.apache.org/hbase/2.5.8/hbase-2.5.8-bin.tar.gz tar -xvf hbase-2.5.8-bin.tar.gz安装java jdk sudo apt install openjdk-11-jdksudo vim /etc/profileexport JAVA_HOME/usr/lib/jvm/…...

HTTP 多个版本

了解一下各个版本的HTTP。 上个世纪90年代初期&#xff0c;蒂姆伯纳斯-李&#xff08;Tim Berners-Lee&#xff09;及其 CERN的团队共同努力&#xff0c;制定了互联网的基础&#xff0c;定义了互联网的四个构建模块&#xff1a; 超文本文档格式&#xff08;HTML&#xff09; …...

【DevOps】探索Linux命令行世界:深入了解Shell的力量

目录 一、Linux Shell 详细介绍 1. Shell基础概念 2. Shell的功能特性 3. 常用Shell命令与技巧 4. 高级Shell特性与实践 二、常见的Shell及其比较 1. Bash (Bourne Again SHell) 2. Zsh (Z Shell) 3. Fish (Friendly Interactive SHell) 4. Ksh (Korn SHell) 5. Csh …...

互斥量的使用

文章目录 前言一、互斥量与二进制信号量二、优先级反转与优先级继承三、递归锁 前言 通过学习上一章互斥量理论基础&#xff0c;这一章我们来做一些实验进行验证。 一、互斥量与二进制信号量 互斥量使用和二进制信号量类似 互斥量有优先级继承功能&#xff0c;二进制信号量没有…...

关于面试真题的压迫

1.请描述一下您在使用JavaScript进行DOM操作时&#xff0c;如何提高页面性能和用户体验&#xff1f; 使用事件委托&#xff1a;在父元素上监听事件&#xff0c;而不是为每个子元素都添加事件监听器。这样可以减少事件处理程序的数量&#xff0c;提高性能。 缓存DOM查询&#x…...

1700java进销存管理系统Myeclipse开发sqlserver数据库web结构java编程计算机网页项目

一、源码特点 java web进销存管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为sqlser…...

mysql数据库(排序与分页)

目录 一. 排序数据 1.1 排序规则 1.2 单列排序 1.我们也可以使用列的别名&#xff0c;给别名进行排序 2.列的别名只能在 ODER BY 中使用&#xff0c; 不能在WHERE中使用。 3.强调格式&#xff1a;WHERE 需要在 FROM 后&#xff0c; ORDER BY 之前 1.3 二级排序&…...

Android 实时监听Activity堆栈变化(系统应用)

private val mIActivityManager: IActivityManager ActivityManagerNative.asInterface(ServiceManager.getService(Context.ACTIVITY_SERVICE)) 方式一&#xff08;registerProcessObserver&#xff09; &#xff1a; mIActivityManager.registerProcessObserver(mIProcess…...

双目深度估计原理立体视觉

双目深度估计原理&立体视觉 0. 写在前面1. 双目估计的大致步骤2. 理想双目系统的深度估计公式推导3. 双目标定公式推导4. 极线校正理论推导 0. 写在前面 双目深度估计是通过两个相机的对同一个点的视差来得到给该点的深度。 标准系统的双目深度估计的公式推导需要满足:1)两…...

Redis探索之旅(基础)

目录 今日良言&#xff1a;满怀憧憬&#xff0c;阔步向前 一、基础命令 1.1 通用命令 1.2 五大基本类型的命令 1.2.1 String 1.2.2 Hash 1.2.3 List 1.2.4 Set 1.2.5 Zset 二、过期策略以及单线程模型 2.1 过期策略 2.2 单线程模型 2.3 Redis 效率为什么这么高 三…...

C语言/数据结构——每日一题(链表的中间节点)

一.前言 今天我在LeetCode刷到了一道单链表题&#xff0c;想着和大家分享一下这道题&#xff1a;https://leetcode.cn/problems/middle-of-the-linked-list。废话不多说让我们开始今天的知识分享吧。 二.正文 1.1题目描述 1.2题目分析 这道题有一个非常简便的方法——快慢指…...

这是用VS写的一个tcp客户端和服务端的demo

服务端&#xff1a; 客户端&#xff1a; 其实这里面的核心代码就两行。 客户端的核心代码&#xff1a; //套接字连接服务端 m_tcpSocket->connectToHost(_ip,_port);//通过套接字发送数据m_tcpSocket->write(ui.textEditSend->toPlainText().toUtf8());//如果收到信…...

代码随想录算法训练营day18 | 102.二叉树的层序遍历、226.翻转二叉树、101. 对称二叉树

102.二叉树的层序遍历 迭代法 层序遍历使用队列&#xff0c;同时记录每层的个数 class Solution:def levelOrder(self, root: Optional[TreeNode]) -> List[List[int]]:res []if not root:return resqueue collections.deque()queue.append(root)while queue:size len…...

工厂自动化升级改造参考(01)--设备通信协议详解及选型

以下是整合了通信协议的特点、应用场景、优缺点以及常用接口方式的描述: 以太网/IP: 来历: 以太网是一种局域网技术,由罗伯特梅特卡夫和大卫博格在1973年开发。IP是网络层协议,负责在网络中的设备间传输数据。特点:基于标准的以太网技术,使用TCP/IP协议栈,支持高速数据传…...

NotebookLM播客生成质量分析(行业首份LMM音频语义保真度测评报告)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM播客生成质量分析 NotebookLM 作为 Google 推出的实验性 AI 助手&#xff0c;其播客&#xff08;Podcast&#xff09;生成功能依托于对用户上传文档的理解与结构化重述。该功能并非端到端语音…...

多介质过滤器和活性炭过滤器的区别在哪?

做水处理设备选型快10年&#xff0c;我几乎每周都会遇到客户问&#xff1a;多介质过滤器和活性炭过滤器到底有啥区别&#xff1f;选型选错不仅花冤枉钱&#xff0c;还会直接影响整个水处理系统的寿命。先给大家总结核心结论&#xff1a;两者核心作用不同&#xff0c;多介质偏物…...

如何用 setItem 与 getItem 规范地存取本地的字符串数据

localStorage的setItem和getItem仅支持字符串&#xff0c;存对象需JSON序列化&#xff0c;取值须判null并容错解析&#xff1b;键名应统一前缀&#xff0c;敏感数据慎存&#xff0c;大文本需评估容量。用 setItem 和 getItem 存取本地字符串数据&#xff0c;核心是确保数据类型…...

Perplexity + Sage期刊深度协同方案(科研人私藏版):从模糊关键词到JCR一区论文PDF的全自动链路搭建

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity Sage期刊深度协同方案&#xff08;科研人私藏版&#xff09;&#xff1a;从模糊关键词到JCR一区论文PDF的全自动链路搭建 核心协同逻辑&#xff1a;语义增强型检索闭环 Perplexity 的实时…...

不止于抓包:用Fiddler做移动端API调试和性能优化的5个实战技巧

不止于抓包&#xff1a;用Fiddler做移动端API调试和性能优化的5个实战技巧 当你已经能够熟练使用Fiddler进行基础抓包操作后&#xff0c;这款工具的真正价值才刚刚开始显现。许多开发者仅仅将其视为一个"网络请求查看器"&#xff0c;却忽略了它在移动端开发全流程中的…...

Python 爬虫进阶技巧:本地 Cookies 导入实现免登录爬取

前言 在 Python 爬虫实际开发场景中,大量资讯平台、社交站点、电商后台、个人中心类页面均设置了登录权限校验,未携带有效登录身份标识的请求会直接跳转登录页、返回权限不足提示或拒绝数据响应。常规账号密码模拟登录存在诸多弊端,接口加密、验证码拦截、账号风控封禁、参…...

构建聚合搜索与阅读工具:一站式信息处理中枢的设计与实践

1. 项目概述&#xff1a;一个聚合搜索与阅读的“信息中枢”最近在折腾一个挺有意思的项目&#xff0c;叫all-net-search-read。光看名字&#xff0c;你可能会觉得这又是一个“聚合搜索”工具&#xff0c;市面上这类工具确实不少。但当我深入去研究和使用它时&#xff0c;发现它…...

CipherGuard:编译器级密文侧信道攻击防护技术解析

1. CipherGuard技术背景与核心挑战密文侧信道攻击&#xff08;Ciphertext Side-Channel Attacks&#xff09;已成为现代可信执行环境&#xff08;TEE&#xff09;中最棘手的安全威胁之一。这类攻击不直接破解加密算法本身&#xff0c;而是通过分析加密操作执行过程中产生的内存…...

16Gb容量+1866Mbps速率:NT6CL512T32AM-H1的LPDDR3移动存储参数解析

NT6CL512T32AM-H1&#xff1a;16Gb LPDDR3移动DRAM的技术解析在移动计算、工业嵌入式以及车载信息娱乐等对功耗和性能双重敏感的应用领域&#xff0c;内存子系统的选择直接影响产品的续航能力和数据处理效率。NT6CL512T32AM-H1是南亚科技推出的一款16Gb LPDDR3 SDRAM&#xff0…...

5分钟免费激活Windows和Office:KMS_VL_ALL_AIO完整使用指南

5分钟免费激活Windows和Office&#xff1a;KMS_VL_ALL_AIO完整使用指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统未激活的烦恼而困扰吗&#xff1f;想要免费使用完整功能…...