vue.js:父子组件的实训案例

news2024/12/24 9:00:44

作业需求

  • 需求1:定义两个输入框,通过输入框输输入的值改变页面显示的值
  • 需求2:改变第一个输入框的值的同时使得第二个输入框的值变为100倍并显示
  • 需求3:改变第二个输入框的值的同时使得第一个输入框的值变为1/100并显示
    在这里插入图片描述
    实训代码实现
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta name="author" content="xiaonaihu" />
		<meta name="generator" content="HBuilder X" />
		<title>父子组件的案例</title>
		<script src="../../lib/vue.min.js" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app">
			<cpn :number1 = "num1" 
				   :number2 = "num2"
					 @num1change = "num1change"
					 @num2change = "num2change"></cpn>
		</div>
		<template id="cpn">
			<div>
				<h2>props:{{number1}}</h2>
				<h2>data:{{dnumber1}}</h2>
				<!-- <input type="text" v-model="dnumber1"> -->
				<!-- <input type="text" v-bind:value = "dnumber1" v-on:input = "dnumber1=$event.target.value"> -->
				<input type="text" v-bind:value = "dnumber1" v-on:input = "num1Input">
				<h2>props:{{number2}}</h2>
				<h2>data:{{dnumber2}}</h2>
				<!-- <input type="text" v-model="dnumber2"> -->
				<!-- <input type="text" :value = "dnumber2" @input = "dnumber2=$event.target.value"> -->
				<input type="text" :value = "dnumber2" @input = "num2Input">
			</div>
		</template>
		<script type="text/javascript">
			var app = new Vue({
				el: "#app",
				data:{
					num1:1,
					num2:0
				},
				methods: {
					num1change(value) {
						console.log(typeof value);//String类型
						// this.num1 = value;
						//方法1:乘一个数值直接转换
						this.num1 = value * 1;
						// 方法2:parseInt()函数转换
						// this.num1 = parseInt(value);
						this.num1 = parseFloat(value);
					},
					num2change(value) {
						console.log(typeof value);//String类型
						// this.num2 = value;
						//方法1:乘一个数值直接转换
						this.num2 = value * 1;
						// 方法2:parseInt()函数转换
						// this.num2 = parseInt(value);
						this.num2 = parseFloat(value);
					}
				},
				components: {
					cpn:{
						template:"#cpn",
						props: {
							// 如果直接展示内容可以直接绑定
							number1:Number,
							number2:Number
						},
						// 如果需要修改,建议使用data
						data() {
							return ({
								dnumber1:this.number1,
								dnumber2:this.number2
							})
						},
						methods:{
							num1Input(event) {
								// 1.将input中的value赋值到dnumber中
								this.dnumber1 = event.target.value;
								// 2.为了让父组件可以修改值,发出了一个事件
								this.$emit("num1change",this.dnumber1);
								// 3.同时修改dnumber2的值
								this.dnumber2 = this.dnumber1 * 100
								this.$emit("num2change",this.dnumber2);
							},
							num2Input(event) {
								// 1.将input中的value赋值到dnumber中
								this.dnumber2 = event.target.value;
								// 2.为了让父组件可以修改值,发出了一个事件
								this.$emit("num2change",this.dnumber2);
								// 3.同时修改dnumber1的值
								this.dnumber1 = this.dnumber2 / 100
								this.$emit("num1change",this.dnumber1);
							}
						}
					}
				}
			});
		</script>
	</body>
</html>

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

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

相关文章

CentOS搭建基于ZIPKIN的数据追踪系统

ZipKin入门介绍 Zipkin是一款开源的分布式实时数据追踪系统&#xff08;Distributed Tracking System&#xff09;&#xff0c;基于 Google Dapper的论文设计而来&#xff0c;由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其…

TinUI4.0发布

引言 TinUI4登场~~~ 更新一览&#xff1a; 优化radiobox效果修复listview返回元素不全的问题新增树状图 treeview使用TinUI LOGO.ico新增普通图片 image随包发布 TinUI帮助手册 实用程序&#xff0c;在\test目录下 修复 这是常规更新&#xff0c;修复了listview创建过程中…

ChatGPT怎么用

最开始了解ChatGPT居然是抖音上看到的&#xff0c;之前了解过GPT-3&#xff0c;最开始认为可能类似的语言模型&#xff0c;上手以后才发现&#xff0c;这玩意挺有意思&#xff0c;某些方面&#xff0c;比百度强&#xff0c;但是比人还差十万八千里&#xff0c;智力不好说&#…

【Proteus仿真】【STM32单片机】智能浴室水温调控仪设计

文章目录一、功能简介二、软件设计三、实验现象联系作者一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用LCD1602、DS18B20、继电器加热、电机模块等。 系统运行后&#xff0c;LCD1602显示DS18B20采集温度值、温度上限阈值。 开启加水&#xff0c;一段…

PostgreSQL实战之物理复制和逻辑复制(四)

目录 PostgreSQL实战之物理复制和逻辑复制&#xff08;四&#xff09; 4 流复制监控 4.1 pg_stat_replication 4.2 监控主备延迟 4.3 pg_stat_wal_receiver PostgreSQL实战之物理复制和逻辑复制&#xff08;四&#xff09; 4 流复制监控 4.1 pg_stat_replication 主库上主…

Dual-Path Fusion:遥感融合

DPFN: A Dual-Path Fusion Network for Pan-Sharpening &#xff08;一种用于泛锐化的双路径融合网络&#xff09; 大多数现有深上用于pan-sharpening方法的几个公认的问题&#xff0c;如光谱失真和足够的空间纹理增强。针对这些问题&#xff0c;提出了一种新的双路径融合网络…

浙大全日制英文MBA项目申请的五大关键词

2023级开始&#xff0c;浙大全日制英文MBA项目全面登场&#xff01;对于这个项目的了解&#xff0c;大多数考生还不是特别清楚&#xff0c;因为很多考生更加关注的是“全日制”而非英文MBA本身的情况&#xff0c;如果还是带着以往对中文全日制MBA项目的理解来申请这个项目&…

《Linux运维实战:使用Percona Server for MongoDB物理备份与恢复Mongodb数据》

一、备份与恢复方案 Percona Server for MongoDB 是一个免费的、增强的、完全兼容的、源代码可用的、带有企业级功能的MongoDB Community Edition的替代品。它不需要对MongoDB应用程序或代码进行更改。Percona Server for MongoDB支持版本 > 3.6 。 说明&#xff1a;当前环…

【通知】《生成对抗网络GAN原理与实践》代码开源,勘误汇总!

有三上个月出版了新书《生成对抗网络GAN&#xff1a;原理与实践》&#xff0c;Generative Adversarial Networks&#xff08;中文名生成对抗网络&#xff0c;简称GAN&#xff09;自从被提出来后&#xff0c;其发展就非常迅猛&#xff0c;几乎已经被应用于所有CNN可以使用的领域…

Js逆向教程21-vscode无环境联调

作者&#xff1a;虚坏叔叔 博客&#xff1a;https://xuhss.com 早餐店不会开到晚上&#xff0c;想吃的人早就来了&#xff01;&#x1f604; Js逆向教程21-vscode无环境联调 一、环境安装 电脑安装visual code 电脑安装node.js 二、nodejs环境调试 vscode打开一个文件夹并创…

valet-windows

现在win可以用valet了&#xff0c;安装开始 环境参考 1》安装PHP 版本7.4.32 2》安装composer 2.4 安装valet 1》composer global require cretueusebiu/valet-windows 2》valet install 3》这里有2中方法&#xff0c;本人选择link valet link [name] 浏览器中输入 name.te…

[附源码]计算机毕业设计健身房预约平台Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

20221210英语学习

今日新词&#xff1a; authorize v.授权, 批准 layoff n.临时解雇, 操作停止, 活动停止期间 jazz adj.爵士音乐的, 不调和的, (色彩等)花哨恶俗的 overlap v.&#xff08;与…&#xff09;交叠&#xff0c;部分重叠&#xff1b;时间交叠&#xff1b;有共同之处 subject n.…

Matlab中的数据类型

数据类型 MATLAB中的数据类型主要包括数值类型、逻辑类型、字符串、函数句柄、结构体和
单元数组类型。这6种基本的数据类型都是按照数组形式存储和操作的。另外&#xff0c;MATLAB
中还有两种用于高级交叉编程的数据类型&#xff0c;分别是用户自定义的面向对象的用户类类型…

【考研数据】二.2021年BJTU计算机学院考研录取数据分析

欢迎订阅本专栏:《北交计算机复试经验》 订阅地址:https://blog.csdn.net/m0_38068876/category_12110003.html 【考研数据】一.2020年BJTU计算机学院考研录取数据分析【考研数据】二.2021年BJTU计算机学院考研录取数据分析【考研数据】三.2022年BJTU计算机学院考研录取数据分…

web端 无插件 实时视频预览

一&#xff0c;需求 项目需要在web上对相机采集的图片进行编码成视频&#xff0c;然后进行实时预览。以前调研的方案有以下两种&#xff1a; 1&#xff0c;客户端安装ocx插件&#xff0c;浏览器调用插件进行解码&#xff0c;渲染。但是浏览器支持有限&#xff0c;只有ie支持&…

【建议收藏】五年程序员写给小白看的Python基础知识

32000字的长文&#xff0c;建议先收藏后阅读&#xff0c;如果能够点赞转发那就太感谢啦~ 话不多说&#xff0c;我们正式开始。 安装 Python 在开始学习 python 之前&#xff0c;我们先要安装 python。安装 python 的步骤根据不同的操作系统会有些差异&#xff0c;以下是几种…

TensorFlow之分类模型-3

1 基本概念 2 文本分类与情感分析 3 TF模型仓库的使用 本章节主要使用TensorFlow模型仓库与keras技术框架联合开发对IMDB数据集的机器学习&#xff0c;TensorFlow模型仓库提供模型直接下载使用&#xff0c;链接地址如下所示&#xff1a; https://hub.tensorflow.google.cn/ …

关于远程debug的一些事

首先&#xff0c;远程debug需要项目的启动&#xff0c;我这边采用的是docker构建镜像的方式&#xff0c;也可以使用传统jar包命令的方式&#xff1b;然后需要明确一个东西&#xff0c;就是远程debug暴露的端口不是项目端口&#xff0c;而是jvm端口。 这边给出我构建镜像使用的d…

Neodynamic JSPrintManager for Blazor

Neodynamic JSPrintManager for Blazor NeodynamicJSprintManager for Blazor是一个客户端打印和扫描方案&#xff0c;设计用于任何Blazor服务器和WebAssembly项目。通过编写纯.NET C#代码&#xff0c;JSPrintManager for Blazor允许您轻松地将原始数据、文本和本机命令以及已知…