vue3学习-局部使用vue框架案例

目录

局部使用vue框架步骤

简单案例1

简单案例2【 结构化赋值语法】

简单案例3【使用模块化开发模式】

基本数据的简单应用,对象的简单应用

数组的简单应用


局部使用vue框架步骤

1 引用 vue框架的核心文件和 涉及ES6语法的文件

注意:这里文件,我建议先下载到本地,在应用到文件中

vue核心文件

链接:

https://unpkg.com/vue@3.5.13/dist/vue.global.js
因为Vue3使⽤了很多ES6相关的规范,因此我们还需要下载ES6⽀持的⼀个核⼼⽂件、 vue.esm
browser.js
链接:
https://unpkg.com/vue@3/dist/vue.esm-browser.js

操作同上


2 在创建简单的web项目,在html文件的请求头中引用

3 创建createApp函数使用,

4 在html文件请求头中使用插值表达式引用函数中定义的变量


简单案例1

案例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./vue.global.js"></script>
</head>
<body><div id="app"> {{ message }} </div></body>
<script>Vue.createApp({setup() {return {message: 'Hello Vue!'}}}).mount('#app')
</script>
</html>

运行启动,选中合适的浏览器打开

简单案例2【 结构化赋值语法】

注意:简单案例2 在案例1 的基础上进行了更新


结构化赋值语法

关于 “结构化赋值语法” 

上一个案例,使用createApp函数 ,使用Vue.createApp 这种形式。这种,可以看似成java中 类名.静态方法形式 进行理解。

基于 重复使用Vue.某函数这样的,在语法上进行了优化 使用 结构化赋值语法

在前端 使用 结构化赋值语法,是把Vue抽离出来,减少重复使用Vue.某函数这样的,只要声明一次 该函数属于Vue,后期使用可以直接调用该函数!

:Vue.createApp({....})==const { createApp }=Vue; createApp({....}


案例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="./vue.global.js"></script>
</head>
<body><div id="app"> {{ message }} </div></body>
<script>// 结构化赋值语法const { createApp }=VuecreateApp({setup() {return {message: 'Hello Vue!!!!!!!!!!!!!'}}}).mount('#app')
</script>
</html>

运行启动,选中合适的浏览器打开

简单案例3【使用模块化开发模式】

注意:简单案例3 在案例2 的基础上进行了更新


使用模块化开发模式

关于 “ 使用模块化开发模式”

使用模块化开发模式有两步

  • 1 在script 标签中,添加type属性,属性值为module
  • 2 导入es6文件

案例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="./vue.global.js"></script>
</head>
<body><div id="app"> {{name}} </div><script type="module">// 模块化开发模式import{reactive,createApp,ref} from './vue.esm-browser.js'createApp({setup(){return{name: 'Hello Vue'}}}).mount('#app')</script>
</body>
</html>

测试结果

分析:

你会发现它抛出了一个错误,因为 ES 模块不能通过 file:// 协议工作,也即是当你打开一个本地文件时浏览器使用的协议。

由于安全原因,ES 模块只能通过 http:// 协议工作,也即是浏览器在打开网页时使用的协议。为了使 ES 模块在我们的本地机器上工作,我们需要使用本地的 HTTP 服务器,通过 http:// 协议来提供 index.html。

解决办法:下载插件:Live Server(本地服务器)

在扩展中找到 Live Server,下载,重启使用

重启成功后,鼠标右击看到


基本数据的简单应用,对象的简单应用

ref函数:用于基本数据类型的定义

reactive函数 常用于对象的定义

注意

1 无论是对象还是基本数据类型都被使用在setup函数中

2 在return 中返回出去,(可以理解为java中return方法返回值)


案例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="./vue.global.js"></script>
</head>
<body><div id="app"> {{name}} <h5>名字:{{objData.name}},年龄:{{objData.age}}</h5><p>{{a}}</p></div><script type="module">// 模块化开发模式import{reactive,createApp,ref} from './vue.esm-browser.js'createApp({setup(){const objData = reactive({"name": 'objData','age':20})const a=ref("Hello Vue!!!!!!!!!!!!!!!!!!")return{name: 'Hello Vue',objData,a}}}).mount('#app')</script>
</body>
</html>

测试结果

数组的简单应用

常在return 中定义数组元素

示例

export default {data() {return {fruits: ["苹果", "香蕉", "橙子"]};}
};

案例代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- <title>Document</title><script src="./vue.esm-browser.js"></script> --><script src="./vue.global.js"></script>
</head>
<body><div id="app"> {{name}} <h5>名字:{{objData.name}},年龄:{{objData.age}}</h5><p>{{array[0]}},{{array[1]}},{{array[2]}}</p><p>{{a}}</p></div><script type="module">// 模块化开发模式import{reactive,createApp,ref} from './vue.esm-browser.js'createApp({setup(){const objData = reactive({"name": 'objData','age':20})const a=ref("Hello Vue!!!!!!!!!!!!!!!!!!")return{name: 'Hello Vue',objData,array:[11,22,33],a}}}).mount('#app')</script>
</body>
</html>

测试结果

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

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

相关文章

初识Linux · IP分片

目录 前言&#xff1a; IP分片 分片vs不分片 如何分片 分片举例 三个字段 前言&#xff1a; 前文IP协议上和IP协议下我们已经把IP协议的报头的大多数字段介绍了&#xff0c;唯独有三个字段现在还有介绍&#xff0c;即16位标识&#xff0c;8位协议&#xff0c;13位片偏移…

u3d 定义列表详细过程

层级结构 - Canvas - Scroll View - Viewport - Content (Vertical Layout Group) - Item1 (Prefab) - Item2 (Prefab) ... 详细设置步骤 1. 创建 Canvas 2. 添加 Scroll View 组件 3. 在 Scroll View 下创建 Content 子对象 4. 添加 …

产品方法论与 AI Agent 技术的深度融合:从决策智能到价值创造

一、引言&#xff1a;智能化时代的产品范式革命 在数字化转型的深水区&#xff0c;产品开发正经历着从 “功能定义” 到 “体验设计” 再到 “智能演化” 的范式跃迁。麦肯锡 2024 年报告指出&#xff0c;采用 AI 驱动产品方法论的企业&#xff0c;新品研发周期平均缩短 40%&a…

力扣.1471数组的k个最强值,力扣.1471数组的k个最强值力扣1576.替换所有的问号力扣1419.数青蛙​编辑力扣300.最长递增子序列

目录 力扣.1471数组的k个最强值 力扣1576.替换所有的问号 力扣1419.数青蛙​编辑 力扣300.最长递增子序列 力扣.1471数组的k个最强值 class Solution {public static int[] getStrongest(int[] arr,int k) {if(karr.length){return arr;}int []retnew int[k];int narr.lengt…

使用docker安装clickhouse集群

1、简介 clickhouse 作为大数据场景中&#xff0c;实现快速检索的常用列式存储数据库&#xff0c;采用物理机部署&#xff0c;会在数据量大的场景中&#xff0c;物理机器存储达到阈值需要扩容&#xff0c;会带来比较大的问题&#xff0c;因此&#xff0c;使用docker部署clickho…

package-lock.json能否直接删除?

package-lock.json能否直接删除&#xff1f; package-lock.json 生成工具&#xff1a;由 npm 自动生成。 触发条件&#xff1a;当运行 npm install 时&#xff0c;如果不存在 package-lock.json&#xff0c;npm 会创建它&#xff1b;如果已存在&#xff0c;npm 会根据它精确安…

如何在 Windows 命令提示符中创建多个文件夹和多个文件

如何在 Windows 命令提示符中创建多个文件夹和多个文件 虽然大多数用户习惯使用 Windows 图形界面来创建文件夹&#xff0c;但如果你需要一次性创建多个文件夹或文件&#xff0c;如同在类Unix系统中可以使用mkdir和touch命令一样&#xff0c;windows下也有创建目录和文件的对应…

leetcode - 滑动窗口问题集

目录 前言 题1 长度最小的子数组&#xff1a; 思考&#xff1a; 参考代码1&#xff1a; 参考代码2&#xff1a; 题2 无重复字符的最长子串&#xff1a; 思考&#xff1a; 参考代码1&#xff1a; 参考代码2&#xff1a; 题3 最大连续1的个数 III&#xff1a; 思考&am…

Ubuntu20.04下如何源码编译Carla,使用UE4源码开跑,踩坑集合

一、简介 作为一个从事算法研究的人员,无人驾驶仿真一直是比较重要的一部分,但是现在比较常见的算法验证都是在carla这个开源仿真平台上做的,所以我有二次开发carla的需求,今天就来讲讲编译CARLA。 网上的教材很多,但还是推荐大家看官网教程:Linux build - CARLA Simul…

Linux云计算训练营笔记day09(MySQL数据库)

Linux云计算训练营笔记day09&#xff08;MySQL数据库&#xff09; 目录 Linux云计算训练营笔记day09&#xff08;MySQL数据库&#xff09;外键约束数据的导入和导出数据的导出数据的导入 DQL 数据查询语言查指定字段查所有字段where 过滤条件and 和 orin 和 not inbetween...an…

对心理幸福感含义的探索 | 幸福就是一切吗?

注&#xff1a;机翻&#xff0c;未校。 Happiness Is Everything, or Is It? Explorations on the Meaning of Psychological Well-Being 幸福就是一切吗&#xff1f;对心理幸福感含义的探索 Journal of Personality and Social Psychology 1989, Vol. 57, No. 6,1069-1081 …

零基础学Java——第十一章:实战项目 - 微服务入门

第十一章&#xff1a;实战项目 - 微服务入门 随着互联网应用的复杂性不断增加&#xff0c;单体应用&#xff08;Monolithic Application&#xff09;在可扩展性、可维护性、技术栈灵活性等方面逐渐暴露出一些问题。微服务架构&#xff08;Microservices Architecture&#xff…

git 本地提交后修改注释

dos命令行进入目录&#xff0c;idea可以点击Terminal 进入命令行 git commit --amend -m "修改内容"

Python训练打卡Day22

复习日&#xff1a; 1.标准化数据&#xff08;聚类前通常需要标准化&#xff09; scaler StandardScaler() X_scaled scaler.fit_transform(X) StandardScaler() &#xff1a;这部分代码调用了 StandardScaler 类的构造函数。在Python中&#xff0c;当你在类名后面加上括号…

气动排渣煤粉炉专用V型球阀——法兰连接耐磨阀门生产厂家解析-耀圣

气动排渣煤粉炉专用V型球阀——法兰连接耐磨阀门生产厂家解析 副标题&#xff1a;开关灵活无泄漏 标配行程开关/电磁阀/过滤器 一、产品概述&#xff1a;气动排渣煤粉炉专用V型球阀核心优势 作为专业的气动耐磨V型球阀生产厂家&#xff0c;我们针对煤粉炉排渣工况研发的法兰连…

Linux云计算训练营笔记day08(MySQL数据库)

Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09; 目录 Linux云计算训练营笔记day08&#xff08;MySQL数据库&#xff09;数据准备修改更新update删除delete数据类型1.整数类型2.浮点数类型(小数)3.字符类型4.日期5.枚举: 表头的值必须在列举的值里选择拷贝表复…

致远OA人事标准模块功能简介【附应用包百度网盘下载地址,官方售价4W】

人事管理应用&#xff0c;围绕岗位配置、招聘管理、员工档案、入转调离、员工自助申报、数据信息管理等人力资源管理关键业务&#xff0c;构建全员可参与的人事工作协同平台&#xff0c;让人事从繁杂琐碎的事务中解脱出来&#xff0c;高质高效工作&#xff0c;让管理层清楚掌握…

数字孪生工厂实战指南:基于Unreal Engine/Omniverse的虚实同步系统开发

引言&#xff1a;工业元宇宙的基石技术 在智能制造2025与工业元宇宙的交汇点&#xff0c;数字孪生技术正重塑传统制造业。本文将手把手指导您构建基于Unreal Engine 5.4与NVIDIA Omniverse的实时数字孪生工厂系统&#xff0c;集成Kafka实现毫秒级虚实同步&#xff0c;最终交付…

【向量模型 + HNSW 参数如何选择】

目录 一、embedding_function&#xff08;向量模型&#xff09; 可选方式 选型建议 二、HNSW 参数选择&#xff08;核心影响搜索速度与准确率&#xff09; 2.1 参数解释和推荐值 2.2 配置模板参考 1、推荐默认配置&#xff08;适合大多数项目&#xff09;&#xff1a; 2…

fpga系列 HDL : Microchip FPGA开发软件 Libero Soc 安装 license申请

启动 注册账号&#xff1a;https://login.microchip.com/申请免费许可&#xff1a;https://www.microchipdirect.com/fpga-software-products C:\Windows\System32>vol驱动器 C 中的卷是 Windows卷的序列号是 ****-****为“D:\Microsemi\License.dat”创建环境变量“LM_LICE…