一,vue3 解构 获取值 双向绑定 二。数据监听 双向绑定 三。冒泡排序

news2024/11/18 1:38:04

一,vue3  解构 获取值  双向绑定

<template>
    <nav>
      <!--  按钮 -->
        <!-- 绑定事件的弹框  v-on @-->
      <button @click="submit">弹出</button><br>
      
        <!-- 、双向绑定 -->
        <input v-model="num"  placeholder="请输入zi" >
        <!-- 文本留言框 -->
        <textarea placeholder="请输入" v-model="numm"></textarea>
        <p>{{num}}---{{numm}}</p>


      <!-- 引用变量 !取反 -->
      <p v-if="isFalse">我是pt</p>
      <p v-show="!isFalse">我是ps</p>
  
      <ul  v-for="(item,index) in userList" :key="index">
        <!-- 进行遍历 userList   在后边插入值-->
        <!-- :key="index" 唯一标识 必须加  -->
        <li>年龄:{{item.userage}}</li><br>
        <li>名字:{{item.username}}</li><br>
        <li>引用num值--{{num}}</li><br>
        <li>引用msg值--{{msg}}</li><br>
      </ul>

    </nav>
  </template>
  
  <script>
  // import { continueStatement, } from '@babel/types'
  import {reactive,toRefs,  onMounted,} from 'vue'
  export default {
    name:'HomeView',
    setup(){
      const data = reactive({
        isRed:false,
        isTrue:true,
        isFalse:false,
        msg:'msg初始值',
        num:'',
        numm:'',
        // userpone:'',
        userList:[
       
          {
            username:'小红',
            userage:10
          }
          
        ]
      })
  
  
      // 生命周期
      // 渲染后
      onMounted(()=>[
        // 定时器
         setTimeout(()=>{
          //渲染之后修改数据
          data.msg='msg 修改值',
          // 渲染之后加一
          data.num+="num初始值"
          data.numm+="numm初始值"
        },8000)
      ])
  
   
      // onBeforeUpdated(()=>{
      //   // console.log('onBeforeUpdated')
      //   data.num +=1
      // })
  
  
      // 另一种方法的写法
        // const submit =()=>{
        //   alert('nskdh ')
        // }
  
        function submit(){
        const sub = data.num + data.numm

        alert(`${data.num} +${data.numm}`)
        console.log(sub,'打印')
        // return sub
      }
  
    
      return{
        data,
        ...toRefs(data),  //结构数据
        submit,

      }
    } 
  
   
  }
  </script>
  
  <style>
  
  </style>

 

二。数据监听 双向绑定 

<template>
  <div>
    个人信息

    <!-- 固定值的增删改查  以及显隐状态-->
    <h2 v-show="preson.name"> 姓名:{{name }}</h2>
    <h2 v-show="preson.age"> 年龄:{{age }}</h2>
    <h2 v-show="preson.add">新增: {{ preson.add }}</h2>
    <!-- 基础 引用 -->
    <h2>工资:{{ preson.job.salarry }}</h2>
    <h2>工作:{{ preson.job.type }}</h2>
    <h2>爱好: {{ preson.job.a.b.c }}</h2>
    <p>{{kk}}</p>

    <!-- button 按钮信息 -->
    <br/>
    <button @click="chenge">修改信息</button>
    <button @click="AddSex">添加信息</button>
    <button @click="del">删除信息</button>
    <button @click="kk++">点击加一</button>

  </div>

</template>

<script>
//   引入 
import { reactive, ref , watchEffect, toRefs,} from 'vue'
export default {
  // 定义文件名称
  name: 'App',
  setup() {
   const kk = ref (0)
    // 创建对象reactive类型 
    let preson = reactive({
      name: '周阿狗',
      age: 23,
      job: {
        salarry: '10k',
        type: '前端菜狗',
        a: {
          b: {
            c: '滑雪,旅游'
          }
        }
      }
    })

    

    // // watch监听   ref
    // watch(kk,(newValue,oldValue)=>{
    //   console.log('kk变化了',newValue,oldValue)
    // })

    // // watch监听 reactive  
    // 新数据和旧数据会变得一样 如果非要用旧数据  参考上边的ref
    // watch(preson,(newValue,oldValue)=>{
    //   console.log('preson',newValue,oldValue)
    // })

    // watchEffect 默认上来就监听数据  
    watchEffect(()=>{
      const newage =  preson.age

      console.log("监听数据" ,newage)
    })




    // 修改  
    function chenge() {
      // reactive 类型 直接引用修改即可
      preson.job.a.b.c = "修改后爱好 摆烂"
      // preson.age='scsdsfs'//变成nan
      preson.age='修改后年龄 108岁 '//变成nan

     
    }

    // 添加 
    function AddSex() {
       // reactive 类型 直接引用添加
      preson.add = '新增值'

    }

    // 删除
    function del() {
      delete preson.name

    }
   

    return {
      preson,
      chenge,
      AddSex,
      del,
      kk,
      // 减少preson  解构
      ...toRefs(preson)
      
    
    }

  }



}
</script>


 

三。冒泡排序

<template>
    <div>
      <p>{{ kla }}</p>
    </div>
  </template>
  <script>
  import { ref } from 'vue';
  export default {
    setup() {
        const kla= ref([9, 5, 8, 9, 3, 8, 4, 2, 5, 6, 1, 7])
      const kl = ref([9, 5, 8, 9, 3, 8, 4, 2, 5, 6, 1, 7])
      // 冒泡排序  从小到大
      function kkkkkk(arr) {
        for (var i = 0; i <= arr.length - 1; i++) {      //外层循环
          for (var j = 0; j < arr.length - i - 1; j++) {  //内层循环
            if (arr[j] > arr[j + 1]) {   //判断 当前的j 是否大于 j+1
              var temp = arr[j];        //如果大于  那就就把 arr[j]  存在一个新的 temp 队列中
              arr[j] = arr[j + 1];      //判断  arr[j] 是否等于 arr[j+1]
              arr[j + 1] = temp;       //如果 两个数字一样  那就存进 队列
            }
          }
        }
        return arr;                    //返回 arr
      }
      var arr1 = kkkkkk(kl.value);    //带入数组
      console.log(arr1);              //输出
   
      // 冒泡排序  从大到小
      function kkkk(arr) {
        for (var i = 0; i <= arr.length - 1; i++) {
          for (var j = 0; j < arr.length - i - 1; j++) {
            if (arr[j] < arr[j + 1]) {
              var temp = arr[j];
              arr[j] = arr[j + 1];
              arr[j + 1] = temp;
            }
          }
        }
        return arr;
      }
      var arr1 = kkkk(kl.value);
      console.log(arr1);
   
   
      return {
        kl,
        kla,
        kkkkkk,
        kkkk
      }
    }
  }
  </script>
  <style></style>

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

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

相关文章

Java(十)(网络编程,UDP,TCP)

目录 网络编程 两种软件架构 网络通信的三要素 IP IPv4的地址分类 特殊IP 端口号 协议 用UDP协议发送数据 用UDP接收数据 TCP接收和发送数据 TCP通信--支持与多个客户端同时通信 网络编程 可以让设备中的程序与网络上其他设备的程序进行数据交互(实现网络通信) 两…

TA-Lib学习研究笔记(二)——Overlap Studies下

TA-Lib学习研究笔记&#xff08;二&#xff09;——Overlap Studies下 &#xff08;11&#xff09;SAR - Parabolic SAR 抛物线指标 函数名&#xff1a;SAR 名称&#xff1a; 抛物线指标 简介&#xff1a;抛物线转向也称停损点转向&#xff0c;是利用抛物线方式&#xff0c;随…

【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能

文章目录 ⭐⭐⭐Spring核心源码分析自定义Spring框架⭐⭐⭐一、Spring使用回顾二、Spring核心功能结构1、Spring核心功能2、bean概述 三、Spring IOC相关接口分析1、BeanFactory解析2、BeanDefinition解析3、BeanDefinitionReader解析4、BeanDefinitionRegistry解析5、创建容器…

【Linux】tar 命令使用

tar 命令 tar&#xff08;英文全拼&#xff1a;tape archive &#xff09;命令用于备份文件。tar 是用来建立&#xff0c;还原备份文件的工具程序&#xff0c;它可以加入&#xff0c;解开备份文件内的文件。 著者 由约翰吉尔摩和杰伊芬拉森撰写。 语法 tar [选项] [压缩后文…

【Lustre相关】功能实践-03-文件级冗余(FLR)

一、前言 DDN-03.11-File Level Redundancy (FLR) Category:FLR 1、功能介绍 在文件级冗余&#xff08;File Level Redundancy&#xff0c;FLR&#xff09;特性出现之前&#xff0c;Lustre文件系统数据冗余完全依赖于后端存储设备&#xff08;如RAID6&#xff09;。 Lustre在L…

【数据挖掘】国科大刘莹老师数据挖掘课程作业 —— 第二次作业

Written Part 1. 给定包含属性&#xff5b;Height, Hair, Eye&#xff5d;和两个类别&#xff5b;C1, C2&#xff5d;的数据集。构建基于信息增益&#xff08;info gain&#xff09;的决策树。 HeightHairEyeClass1TallBlondBrownC12TallDarkBlueC13TallDarkBrownC14ShortDark…

C++输出100以内的素数

以下是一个简单的C程序&#xff0c;用于输出100以内的所有素数&#xff1a; #include <iostream>using namespace std;int main() { int num, i, flag 0; for(num 2; num < 100; num) { flag 0; for(i 2; i < num/2; i) { if(…

【面试HOT200】回溯篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot300】进行的&#xff0c;每个知识点的修正和深入主要参…

测试相关-面试高频

测试面试相关 面试 测试的具体场景 功能测试 具体的测试工具Jmeter Postman selenium pytest 怎么看待测试的潜力与挑战 软件测试是正在快速发展&#xff0c;充满挑战的领域。尽管现在许多自动化测试软件的出现使得传统手工测试的方式被代替&#xff0c;但自动化测试工具的…

使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式

文章目录 一、引言&问题描述二、解决方案 一、引言&问题描述 在使用Spring来管理对象时&#xff0c;我们需要创建Spring的配置文件applicationContext.xml&#xff0c;如下图位置&#xff1a; 在resources目录下选择new->File 或 使用idea自带模板new->XML Con…

韩国DMF注册信息在线查询

DMF&#xff08;Drug Master File&#xff09;是药品主文件的缩写&#xff0c;一般DMF中包含了与药品相关的化学、制造、控制、稳定性、质量控制等方面的详细信息&#xff0c;根据各国的要求所含内容各不相同。而韩国DMF一般可以简称为KDMF: Korea Drug Master File&#xff0c…

<avue-crud/>,二级表头,children下字典项的dicUrl失效问题

目录 1.提出问题&#xff1a; 1.1 代码&#xff1a; 1.2 效果图&#xff1a;会发现处在children下的dicUrl失效了 2. 解决思路 3. 解决代码&#xff08;你要的都在这&#xff0c;看这里&#xff09; 1.提出问题&#xff1a; 在使用<avue-crud/>组件实现二级表头时&…

漏洞复现--安恒明御安全网关 aaa_local_web_preview 任意文件上传

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

OSG编程指南<十四>:OSG纹理渲染之普通纹理、多重纹理、Mipmap多级渐远纹理及TextureRectangle矩阵纹理

1、纹理映射介绍 物体的外观不仅包括形状&#xff0c;不同物体表面有着不同的颜色和图案。一个简单而有效地实现这种特性的方法就是使用纹理映射。在三维图形中&#xff0c;纹理映射&#xff08;Texture Mapping&#xff09;的方法运用广泛&#xff0c;使用该技术可以大大提高物…

BatchOutput PDF for Mac(PDF 批量处理软件)

BatchOutput PDF是一款适用于 Mac 的 PDF 批量处理软件。它可以帮助用户将多个 PDF 文件进行异步处理&#xff0c;提高工作效率。 BatchOutput PDF 可以自动化执行许多任务&#xff0c;包括 PDF 文件的打印、转换、分割、压缩、加密、重命名等&#xff0c;而且它还可以将自定义…

公有云频繁宕机引发思考:超越灾难,跨云容灾的未来

近期&#xff0c;阿里云全球服务器和可用区的故障事件导致所有依赖其服务的应用在三个小时内无法使用&#xff0c;这一事件凸显了单一云服务依赖的风险。成千上万的企业和服务瞬间陷入混乱&#xff0c;这不仅仅是技术故障的问题&#xff0c;而是关乎信任、安全和业务连续性的危…

【蓝桥杯选拔赛真题49】python英文转换 青少年组蓝桥杯python 选拔赛STEMA比赛真题解析

目录 python英文转换 一、题目要求 1、编程实现 2、输入输出 二、算法分析

私家车位共享APP-计算机毕业设计源码24384

目 录 摘要 1 绪论 1.1 课题的研究背景 1.2研究内容与研究目标 1.3ssm框架 1.4论文结构与章节安排 2 2 私家车位共享APP系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3数据删除流程 2.3 系统功能分析 2.3.1功能性分析 2…

使用Java将properties转为yaml,保证顺序、实测无BUG版本

使用Java将properties转为yaml 一 前言1.1 顺序错乱的原因1.2 遗漏子节点的原因 二、优化措施三、源码 一 前言 浏览了一圈网上的版本&#xff0c;大多存在以下问题&#xff1a; 转换后顺序错乱遗漏子节点 基于此进行了优化&#xff0c;如果只是想直接转换&#xff0c;可直接…

golang—kafka架构原理快速入门以及自测环境搭建(docker单节点部署)

kafka Apache Kafka 是一个分布式的流处理平台。它具有以下特点&#xff1a; 支持消息的发布和订阅&#xff0c;类似于 RabbtMQ、ActiveMQ 等消息队列支持数据实时处理能保证消息的可靠性投递支持消息的持久化存储&#xff0c;并通过多副本分布式的存储方案来保证消息的容错高…