直接在html中引入Vue.js的cdn来实现Vue3的组合式API

news2024/11/26 18:43:27

Vue3的组合式API是使用setup函数来编写组件逻辑的。setup函数是Vue3中用于替代Vue2的选项API(如datamethods等)的一种方式。在setup函数中,你可以访问到一些特殊的响应式对象,并且可以返回一些可以在模板中使用的数据、方法等。

以下是一个文章列表示例,展示了如何在Vue3中使用组合式API的setup函数编写组件:

把所有代码都写在一个html文件

<!DOCTYPE html>
<html>
<head>
    <title>Vue 3 CDN Example - Composition API</title>
    <meta charset="utf-8">
    <script src="vue.global.prod.min.js"></script>
    <script src="vue-router.global.min.js"></script>
</head>
<body>

<div id="app">
    <router-view></router-view>
</div>

    <script type="module">
        const { createApp, ref } = Vue;
        const { createRouter, createWebHashHistory } = VueRouter;
        
        // 示例数据
        const artcles = [
            { id: 100, title: '孤注一掷,玩的就是真实', content: '电影《孤注一掷》于8月8日正式上映,目前票房已破8亿。电影自点映以来口碑与票房狂飙,连破暑期档单日点映最高票房、中国影史单日点映票房、中国影史点映票房纪录,影片结尾部分更让不少观众认为会有续集。昨日在接受采访时,导演申奥明确表示不会有续集,“目前没有续集的计划,那个镜头主要想表达的就是,网络诈骗很难根除,层出不穷,还是需要我们提升自身的免疫力。”' },
            { id: 101, title: '《封神第一部》上映:网友被费翔的商务殷语洗脑了', content: '《封神第一部》主要讲述的是商王殷寿与狐妖妲己勾结,暴虐无道,引发天谴。昆仑仙人姜子牙携封神榜”下山,寻找天下共主,以救苍生。西伯侯之子姬发逐渐发现殷寿的本来面目,反出朝歌。' },
            { id: 102, title: '《消失的她》票房破35亿 排名中国票房榜第12', content: '《消失的她》由陈思诚监制,朱一龙、倪妮、文咏珊等主演的悬疑犯罪片。该片改编自前苏联电影《为单身汉设下的陷阱》,讲述了何非的妻子李木子在结婚周年旅行中离奇消失,失踪多天后一个陌生女人突然闯入,并坚称是何非妻子,从而牵扯出一个惊天大案的故事。' }
        ];
    
        // 组件:文章列表
        const ArtcleList = {
            template: `
                <div>
                    <h1>文章列表</h1>
                    <ul>
                        <li v-for="artcle in artcles" :key="artcle.id">
                            <router-link :to="'/artcle/' + artcle.id">{{ artcle.title }}</router-link>
                        </li>
                    </ul>
                </div>
            `,
            setup() {
                return {
                    artcles
                };
            }
        };
    
        // 组件:文章详情
        const ArtcleDetail = {
            template: `
                <div>
                    <h1>{{ artcle.title }}</h1>
                    <p>{{ artcle.content }}</p>
                </div>
            `,
            setup() {
                const route = VueRouter.useRoute();
                const artcleId = route.params.id;
                const artcle = ref(artcles.find(artcle => artcle.id === Number(artcleId)));
    
                return {
                    artcle
                };
            }
        };
    
        // 创建路由
        const router = createRouter({
            history: createWebHashHistory(),
            routes: [
                { path: '/', component: ArtcleList },
                { path: '/artcle/:id', component: ArtcleDetail }
            ]
        });
        
        // 创建Vue应用
        const app = createApp({});
        app.use(router);
        
        // 挂载应用
        app.mount('#app');
    </script>
    
</body>
</html>

你也可以单独将js抽离出来

index.html

<!DOCTYPE html>
<html>
<head>
    <title>Vue 3 CDN Example - Composition API</title>
    <meta charset="utf-8">
    <script src="vue.global.prod.min.js"></script>
    <script src="vue-router.global.min.js"></script>
</head>
<body>

<div id="app">
    <router-view></router-view>
</div>

<script type="module" src="app.js"></script>

</body>
</html>

app.js

const { createApp, ref } = Vue;
const { createRouter, createWebHashHistory } = VueRouter;

// 示例数据
const artcles = [
    { id: 100, title: '孤注一掷,玩的就是真实', content: '电影《孤注一掷》于8月8日正式上映,目前票房已破8亿。电影自点映以来口碑与票房狂飙,连破暑期档单日点映最高票房、中国影史单日点映票房、中国影史点映票房纪录,影片结尾部分更让不少观众认为会有续集。昨日在接受采访时,导演申奥明确表示不会有续集,“目前没有续集的计划,那个镜头主要想表达的就是,网络诈骗很难根除,层出不穷,还是需要我们提升自身的免疫力。”' },
    { id: 101, title: '《封神第一部》上映:网友被费翔的商务殷语洗脑了', content: '《封神第一部》主要讲述的是商王殷寿与狐妖妲己勾结,暴虐无道,引发天谴。昆仑仙人姜子牙携封神榜”下山,寻找天下共主,以救苍生。西伯侯之子姬发逐渐发现殷寿的本来面目,反出朝歌。' },
    { id: 102, title: '《消失的她》票房破35亿 排名中国票房榜第12', content: '《消失的她》由陈思诚监制,朱一龙、倪妮、文咏珊等主演的悬疑犯罪片。该片改编自前苏联电影《为单身汉设下的陷阱》,讲述了何非的妻子李木子在结婚周年旅行中离奇消失,失踪多天后一个陌生女人突然闯入,并坚称是何非妻子,从而牵扯出一个惊天大案的故事。' },
    { id: 103, title: '电影《八角笼中》上映29天,票房突破21亿', content: '新京报讯 8月2日,电影《八角笼中》上映29天,累计票房突破21亿。该片由王宝强执导,王宝强、陈永胜、史彭元领衔主演,王迅、张祎曈主演,于7月6日正式上映。' },
    { id: 104, title: '速度与激情 10》8 月 18 日上线国内视频平台', content: '据 IT 之家此前报道,《速度与激情 10》今年 5 月在内地院线上映,比北美提前两天。目前,该片豆瓣评分 6.2。《速度与激情》系列电影由罗伯・科恩等执导,于 2001 年至 2021 年期间上映了 9 部。《速度与激情 9》于 2021 年 5 月 21 日在中国内地上映,2021 年 6 月 25 日在北美上映。' }
];

// 组件:文章列表
const ArtcleList = {
    template: `
        <div>
            <h1>文章列表</h1>
            <ul>
                <li v-for="artcle in artcles" :key="artcle.id">
                    <router-link :to="'/artcle/' + artcle.id">{{ artcle.title }}</router-link>
                </li>
            </ul>
        </div>
    `,
    setup() {
        return {
            artcles
        };
    }
};

// 组件:文章详情
const ArtcleDetail = {
    template: `
        <div>
            <h1>{{ artcle.title }}</h1>
            <p>{{ artcle.content }}</p>
        </div>
    `,
    setup() {
        const route = VueRouter.useRoute();
        const artcleId = route.params.id;
        const artcle = ref(artcles.find(artcle => artcle.id === Number(artcleId)));

        return {
            artcle
        };
    }
};

// 创建路由
const router = createRouter({
    history: createWebHashHistory(),
    routes: [
        { path: '/', component: ArtcleList },
        { path: '/artcle/:id', component: ArtcleDetail }
    ]
});

// 创建Vue应用
const app = createApp({});
app.use(router);

// 挂载应用
app.mount('#app');

结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QbqvxK4N-1691656932134)(/img/bVc9chD)]

演示

http://demo.likeyunba.com/vue3-composition-api/#/

源码下载

vue.global.prod.min.js
vue-router.global.min.js
下载地址:https://likeyun.lanzout.com/ibnQn14ymgud

作者

TANKING

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

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

相关文章

[计算机入门] 使用输入法

2.12 使用输入法 输入法是一种计算机软件&#xff0c;它允许用户通过键盘在计算机上输入文字和符号。输入法主要用于处理中文、日语、韩语等语言中较为复杂的字形和字音&#xff0c;使用户能够快速、方便地输入这些文字。 在使用输入法时&#xff0c;用户可根据输入法提供的提…

百数私有云模式

百数私有云模式是百数低代码平台中带有独立服务器的模式 简介&#xff1a;百数的私有化部署是搭建在真正的“私有云”上&#xff0c;拥有独立的服务器&#xff0c;ip&#xff0c;存储&#xff0c;可用企业自己的域名&#xff0c;使用企业自己的Logo&#xff0c;通过企业自身设…

Linux--计算CPU算力

#include <iostream> #include <unistd.h> #include <signal.h>using namespace std;int count 0;void catchSig(int signum) {//cout<< "进程捕捉到了一个信号&#xff0c;正在处理中&#xff1a; "<< signum << " pid: …

【JavaScript】match用法 | 正则匹配

match正则匹配 var e "www.apple.com:baidu.com" var match e.match(/com/g) console.log("match: "match);> "match: com,com"match返回值问题 match的返回值是一个数组 数组的第0个元素是与整个正则表达式匹配的结果 数组的第1个元素是…

展会直击丨虹科实车上展,展会首日汽车行业解决方案备受青睐!

虹科特装展 8月9日&#xff0c;上海汽车测试展和IME在上海世博展览馆拉开序幕&#xff0c;虹科携众多汽车相关解决方案在【3002】展位与各位见面。 开展首日 虹科展位现场实况一览 ↓↓↓↓↓↓ 虹科展位前人头攒动&#xff0c;实车展示自动驾驶等汽车相关解决方案引来各位客…

如何让PPT看起来规整统一

一、字体 常见问题&#xff1a;字体风格太多、文字可读性差、页面风格不匹配 1.使用文字的几个原则 &#xff08;1&#xff09;一份PPT最多使用两种中文字体 比如首页大标题宋体、正文黑体、其他页标题黑体加粗。通过粗细、字号、不同颜色背景等区分不同层级。注意 使用粗体…

opencv基础57-模板匹配cv2.matchTemplate()->(目标检测、图像识别、特征提取)

OpenCV 提供了模板匹配&#xff08;Template Matching&#xff09;的功能&#xff0c;它允许你在图像中寻找特定模板&#xff08;小图像&#xff09;在目标图像中的匹配位置。模板匹配在计算机视觉中用于目标检测、图像识别、特征提取等领域。 以下是 OpenCV 中使用模板匹配的基…

怎么学习机械学习相关的技术? - 易智编译EaseEditing

学习DOM&#xff08;文档对象模型&#xff09;相关技术是成为前端开发者的关键一步&#xff0c;因为DOM是用于操作和控制网页内容的基础。以下是学习DOM相关技术的步骤和方法&#xff1a; 了解基础知识&#xff1a; 首先&#xff0c;了解什么是DOM&#xff0c;它如何表示HTML…

Python小白入门:文件、异常处理和json格式存储数据

这里写自定义目录标题 所用资料 一、从文件中读取数据1.1 读取整个文件1.2 文件路径1.3 逐行读取1.4 创建一个包含文件各行内容的列表1.5 使用文件的内容1.6 包含一百万位的大型文件1.7 圆周率值中包含你的生日吗练习题 二、写入文件2.1 写入空文件2.2 写入多行2.3 附加到文件练…

Mask RCNN网络结构以及整体流程的详细解读

文章目录 1、概述2、Backbone3、RPN网络3.1、anchor的生成3.2、anchor的标注/分配3.3、分类预测和bbox回归3.4、NMS生成最终的anchor 4、ROI Head4.1、ROI Align4.2、cls head和bbox head4.3、mask head 1、概述 Mask RCNN是在Faster RCNN的基础上增加了mask head用于实例分割…

PY32F002A单片机开发板,主频最高24M,Flash 20K,Sram 3K

PY32F002A开发板为PY32F002A芯片提供了一个简易的硬件开发环境。开发板使用 type—c 接口作为供电源。提供包括扩展引脚在内的以及 SWD、Reset、Boot、User button key、Reset key、LED 等外设资源。PY32F002A开发板支持使用ST link,JI link,DAP link进行烧录开发&#xff0c;开…

图的深度优先遍历和广度优先遍历

目录 图的创建和常用方法 深度优先遍历&#xff08;Depth First Search&#xff09; 广度优先遍历&#xff08;Broad First Search&#xff09; 图的创建和常用方法 //无向图 public class Graph {//顶点集合private ArrayList<String> vertexList;//存储对应的邻接…

Spring Security 详解

目录 一、Spring Security简介1.1 概述1.2 历史 二、Spring Security功能三、Spring Security支持的身份认证模式四、SpringBoot项目构建4.1 项目搭建4.2 内存认证4.3 UserDetailsService 处理逻辑4.4 数据库认证4.5 PasswordEncoder4.6 自定义登录页面4.7 会话管理4.8 认证成功…

添加SQLCipher 到项目中

文章目录 一、克隆下载SQLCipher二、手动导入1. 生成sqlite3.c2. 在项目中添加命令3. 添加 Security.framework 三、CocoaPods导入 SQLCipher官方地址 一、克隆下载SQLCipher $ cd ~/Documents/code $ git clone https://github.com/sqlcipher/sqlcipher.git二、手动导入 1.…

Qt5兼容使用之前Qt4接口 intersect接口

1. 问题 项目卡中遇到编译报错&#xff0c; 错误 C2039 “intersect”: 不是“QRect”的成员 。 2. 排查过程 排查到依赖的第三方代码&#xff0c;使用 intersect 接口&#xff0c; 跟踪排查到头文件中使用了***#if QT_DEPRECATED_SINCE(5, 0)*** #if QT_DEPRECATED_SINCE…

大学生创业运营校园跑腿小程序怎么样?

校园跑腿小程序是一种基于移动互联网的服务平台&#xff0c;旨在为大学生提供便捷的跑腿服务。它可以连接大学生用户和需要代办事务的人群&#xff0c;实现多方共赢的局面。接下来&#xff0c;我将从需求背景、市场前景、功能特点等方面进行分析。 首先&#xff0c;校园跑腿小程…

ETLCloud+MaxCompute实现云数据仓库的高效实时同步

MaxCompute介绍 MaxCompute是适用于数据分析场景的企业级SaaS&#xff08;Software as a Service&#xff09;模式云数据仓库&#xff0c;以Serverless架构提供快速、全托管的在线数据仓库服务&#xff0c;消除了传统数据平台在资源扩展性和弹性方面的限制&#xff0c;最小化用…

TransNetR:用于多中心分布外测试的息肉分割的基于transformer的残差网络

TransNetR Transformer-based Residual Network for Polyp Segmentation with Multi-Center Out-of-Distribution Testing 阅读笔记 1. 论文名称 《TransNetR Transformer-based Residual Network for Polyp Segmentation with Multi-Center Out-of-Distribution Testing》 用…

STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路

文章目录&#xff1a; 第一部分&#xff1a;项目开始前的计划与准备 1.项目策划和开发规范 1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分&#xff1a;调通硬件电路与驱动程序 第三部分&#xff1a;编写最基础的应用程序 第四部分&…

JAVA毕业设计093—基于Java+Springboot+Vue的招聘系统(源码+数据库)

基于JavaSpringbootVue的招聘系统(源码数据库)093 一、系统介绍 本系统前后端分离 本系统分为管理员、HR、用户三种角色 用户角色包含以下功能&#xff1a; 登录、注册、简历(搜索、投递和收藏)、hr联系、我的关注、我的收藏、我的简历、简历投递管理、面试管理、个人中心…