Vue 组件 - 动态组件

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件 - 动态组件

目录

动态组件

选项卡页面示例

更简单写法

增加输入框

弥补措施

总结


动态组件

选项卡页面示例

功能:选项卡功能,设置导航点击哪个显示相应页面。

设置三个全局组件,并在页面中调用;在组件的下方设置触发导航。

示例如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>footer ul {margin-top:200px;float:left;background-color: #ccc;list-style: none;}footer ul li {width:100px;height: 20px;float:left;line-height: 20px;text-align: center;}</style><script src="../lib/vue.js"></script>
</head>
<body>
<div id="box"><home v-show=" which === 'home'"></home><list v-show=" which === 'list'"></list><shopcar v-show=" which === 'shopcar'"></shopcar><footer><ul><li @click=" which='home'">首页</li><li @click=" which='list'">列表</li><li @click=" which='shopcar'">购物车</li></ul></footer>
</div>
<script>Vue.component("home", {template:`<div>home</div>`})Vue.component("list", {template:`<div>list</div>`})Vue.component("shopcar", {template:`<div>shopcar</div>`})let vm = new Vue({el: "#box",data: {which:'home'}})
</script>
</body>
</html>

效果如下:

更简单写法

使用component组件优化原有写法。

Component是组件控件,is是固定属性;动态绑定状态即可。

示例如下:

<div id="box"><!--<home v-show=" which === 'home'"></home><list v-show=" which === 'list'"></list><shopcar v-show=" which === 'shopcar'"></shopcar>--><component :is="which"></component><footer><ul><li @click=" which='home'">首页</li><li @click=" which='list'">列表</li><li @click=" which='shopcar'">购物车</li></ul></footer>
</div>

 动态组件缺点是适配性不好,无法复用。

增加输入框

每个组件都有一个输入框、搜索框,当切换组件后,输入框中的内容无法复用。

在home组件中增加输入框,切换组件后发现原有输入内容消失了。

示例如下:

Vue.component("home", {template:`<div>home<input type="text"></div>`
})

弥补措施

保持活着,首先把数据加载到内存中,等组件创建后再临时从内存中读出来,显示出来。

示例如下:

<keep-alive><component :is="which"></component>
</keep-alive>

总结

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue 组件 - 动态组件

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

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

相关文章

Telnet协议详解:本质与操作逻辑

一、Telnet的本质 1. 协议定位 Telnet是一种基于TCP的明文远程终端控制协议&#xff0c;属于应用层协议。其核心功能是通过网络模拟物理终端&#xff0c;实现对远程主机的命令行控制。 2. 核心特性 网络虚拟终端&#xff08;NVT&#xff09;&#xff1a;建立统一的字符编码标…

Android 使用CameraX实现预览、拍照、录制视频(Java版)

Android 官方关于相机的介绍如下&#xff1a; https://developer.android.google.cn/media/camera/get-started-with-camera?hlzh_cn 一、开始使用 Android 相机 Android相机一般包含前置摄像头和后置摄像头&#xff0c;使用相机可以开发一系列激动人心的应用&#xff0c;例…

面向对象

一、Scala包 1、基本语法 package 包名 2、Scala 包的三大作用&#xff08;和 Java 一样&#xff09; &#xff08;1&#xff09;区分相同名字的类 &#xff08;2&#xff09;当类很多时&#xff0c;可以很好的管理类 &#xff08;3&#xff09;控制访问范围 二、包说明 1、说明…

MySQL多表联查

一、数据库表结构 假设我们有两个表&#xff1a;users 和 orders&#xff0c;users 表存储用户信息&#xff0c;orders 表存储订单信息&#xff0c;一个用户可以有多个订单&#xff0c;通过 user_id 关联两个表。 users 表 字段名数据类型描述user_idINT用户 ID&#xff0c;…

如何迁移AxureCloud到新服务器?

前言 常有朋友遇到在更换服务器时或者本地AxureCloud迁移到服务器上时&#xff0c;如何正确迁移AxureCloud&#xff0c;让原有的原型可以正常访问呢&#xff1f; 事前准备 Navicat&#xff1a;用于迁移数据库。 AxureCloud&#xff1a;和原安装版本一致。 MySQL&#xff1…

CSGO 皮肤交易平台后端 (Spring Boot) 代码结构与示例

csgo-market/ ├── pom.xml (or build.gradle) └── src/└── main/├── java/│ └── com/│ └── yourcompany/│ └── csgomarket/│ ├── CsgomarketApplication.java # Spring Boot 启动类│ ├── conf…

mac Python多版本第三方库的安装路径

终端查看python版本是 3.12&#xff0c;但是pycharm使用的python版本是 3.9 终端正常安装包以后&#xff0c;pycharm都可以正常使用&#xff0c;但是将 pycharm的python换成 3.12 版本&#xff0c;之前安装的库都没有了 通过终端查看安装库的位置&#xff0c;确实是安装到py…

Java常用异步方式总结

使用建议 完整代码见https://gitee.com/pinetree-cpu/parent-demon 提供了postMan调试json文件于security-demo/src/main/resources/test_file/java-async.postman_collection.json 可导入postMan中进行调试 Java异步方式以及使用场景 继承Thread类 新建三个类继承Thread&…

【VUE3】Pinia

目录 0前言 1 手动添加Pinia 2 创建与使用仓库&#xff08;Setup Store 组合式&#xff09; 2.1 创建仓库 2.2 使用仓库数据 2.3 解构响应式数据 3 持久化插件 0前言 官网&#xff1a;Pinia | The intuitive store for Vue.js 1 手动添加Pinia 上手之后&#xff0c;可…

JVM 每个区域分别存储什么数据?

JVM&#xff08;Java Virtual Machine&#xff09;的运行时数据区&#xff08;Runtime Data Areas&#xff09;被划分为几个不同的区域&#xff0c;每个区域都有其特定的用途和存储的数据类型。以下是 JVM 各个区域存储数据的详细说明&#xff1a; 1. 程序计数器 (Program Cou…

C++中shared_ptr 是线程安全的吗?

在 C 中&#xff0c;shared_ptr 的线程安全性和实现原理可以通过以下方式通俗理解&#xff1a; 1. shared_ptr 是线程安全的吗&#xff1f; 答案&#xff1a;部分安全&#xff0c;需分场景&#xff01; 安全的操作&#xff1a; 引用计数的增减&#xff1a;多个线程同时复制或销…

什么是 CSSD?

文章目录 一、什么是 CSSD&#xff1f;CSSD 的职责 二、CSSD 是如何工作的&#xff1f;三、CSSD 为什么会重启节点&#xff1f;情况一&#xff1a;网络和存储都断联&#xff08;失联&#xff09;情况二&#xff1a;收到其他节点对自己的踢出通知&#xff08;外部 fencing&#…

arm64平台下linux访问寄存器

通用寄存器 示例&#xff1a;读取寄存器值 // 用户态程序或内核代码中均可使用 unsigned long reg_value; asm volatile ("mov %0, x10" // 将X10的值保存到reg_value变量: "r" (reg_value) ); printk("X10 0x%lx\n", reg_value);示例&…

超级好用的小软件,连接电脑和手机。

将手机变成电脑摄像头的高效工具Iriun Webcam是一款多平台软件&#xff0c;能够将手机摄像头变成电脑的摄像头&#xff0c;通过简单的设置即可实现视频会议、直播、录制等功能。它支持Windows、Mac和Linux系统&#xff0c;同时兼容iOS和Android手机&#xff0c;操作简单&#x…

Mysql MIC高可用集群搭建

1、介绍 MySQL InnoDB Cluster&#xff08;MIC&#xff09;是基于 MySQL Group Replication&#xff08;MGR&#xff09;的高可用性解决方案&#xff0c;结合 MySQL Shell 和 MySQL Router&#xff0c;提供自动故障转移和读写分离功能&#xff0c;非常适合生产环境 2、部署 …

PERL开发环境搭建>>Windows,Linux,Mac OS

特点 简单 快速 perl解释器直接对源代码程序解释执行,是一个解释性的语言, 不需要编译器和链接器来运行代码>>速度快 灵活 借鉴了C/C, Basic, Pascal, awk, sed等多种语言, 定位于实用性语言,既具备了脚本语言的所有功能,也添加了高级语言功能 开源.免费 没有&qu…

ubuntu改用户权限

在 Linux 系统中&#xff0c;赋予普通用户 sudo 权限可以让他们执行一些需要 root 权限的命令&#xff0c;而不需要频繁切换到 root 用户。以下是具体步骤&#xff1a; 创建用户(useradd和adduser两种方式) 首先&#xff0c;需要创建一个新的用户。可以使用 adduser 或 usera…

蓝桥杯 web 学海无涯(axios、ecahrts)版本二

答案&#xff1a; // TODO: 待补充代码// 初始化图表的数据&#xff0c;设置周视图的初始数据 option.series[0].data [180, 274, 253, 324, 277, 240, 332, 378, 101]; // 周数据&#xff08;每周的总学习时长&#xff09; option.xAxis.data ["2月第1周", "…

Java 大视界 -- Java 大数据在智慧文旅虚拟场景构建与沉浸式体验增强中的技术支撑(168)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

API vs 网页抓取:获取数据的最佳方式

引言 在当今数字化时代&#xff0c;对于企业、研究人员以及开发人员而言&#xff0c;获取准确且及时的数据是大多数项目成功的关键因素。目前&#xff0c;收集网页数据主要有两种常用方法&#xff0c;即使用 API&#xff08;应用程序接口&#xff09;和网页抓取。然而&#xf…