count有很多种变换方式

news/2024/7/10 3:05:38 标签: vue

0刷新一下变成1;
0自动变成1,2,3,……
0点加号按钮,变成50,100,150,周五才做过的
0点过两秒变成1;

刷新一下变成1,核心代码

const count = ref(0)
count.value = 1

即可

0点加号变成50
完全不会,又忘得一干二净

<template>
  <p>{{ count }}</p>
  <button>++++</button>
</template>

<script>
import { reactive, ref } from "vue";
  export default {
    name: "App",
    setup() {
      const count = ref(0)
      

      return {
        count,
      };
    },
  };

  
  </script>
  <style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>


不会
想了一下,只能写成这样了
App.vue

<template>
  <test :count="add"></test>
  
</template>

<script>
import { reactive, ref } from "vue";
import Test from "./components/Test.vue"
  export default {
    name: "App",
    components: {
      Test,
    },
    setup() {
      const count = ref(0)
      const add = Num { num = count += count}

      return {
        count,
      };
    },
  };

  
  </script>
  <style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>


Test.vue
不记得了

App.vue写好了,但响应式没写好,Test的?再去改改看。

<template>
  <test :count="add"></test>
  
</template>

<script>
import { reactive, ref } from "vue";
import Test from "./components/Test.vue"
  export default {
    name: "App",
    components: {
      Test,
    },
    setup() {
      const count = ref(0)
      const add =  (num) => ( count.value += num );

      return {
        count,
        add,
      };
    },
  };

Test错误的

<template>
  <div>{{ count }}</div>
  <button @click="add">++++</button>
</template>

<script>
//import { watchEffect } from 'vue'
export default {
  name: "Test",
  props: {
    count: Number
  },
  setup(props) {
    console.log("props", props);
//    watchEffect(() => {
//    console.log('props.count = ', props.count)
  },
};

</script>

<template>
  <test :count="count" @add="add"></test>
  
</template>

<script>
import { ref } from "vue";
import Test from "./components/Test.vue";
  export default {
    name: "App",
    components: {
      Test,
    },
    setup() {
      const count = ref(0);
      const add =  (num) => (count.value += num);

      return {
        count,
        add,
      };
    },
  };

  
  </script>
  <style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>


正确的,App.vue

<template>
  <test :count="count" @add="add"></test>
  
</template>

<script>
import { ref } from "vue";
import Test from "./components/Test.vue";
  export default {
    name: "App",
    components: {
      Test,
    },
    setup() {
      const count = ref(0);
      const add =  (num) => (count.value += num);

      return {
        count,
        add,
      };
    },
  };

  
  </script>
  <style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>


Test.vue

<template>
  <div>{{ count }}</div>
  <button @click="add">++++</button>
</template>

<script>
import { watchEffect } from 'vue'
export default {
  name: "Test",
  props: {
    count: Number,
    add: Function,
  },
  emits: ["add"], //为什么要跟这个,不跟会怎么样?
  setup(props,ctx) {
    const add = () => {
      ctx.emit("add", 50);
    }
    return {
      add,
    };
  },
};
//    console.log("props", props);
//    watchEffect(() => {
//    console.log('props.count = ', props.count)
 

</script>


http://www.niftyadmin.cn/n/957697.html

相关文章

初学Python-简单的,在图片上加png(logo)

昨天尝试了在图片上添加文字&#xff08;传送门&#xff1a;初学Python-简单的在图片上加文字&#xff09; 今天就来尝试在图片上添加png 为什么是png图片&#xff1f;jpg可以不&#xff1f; 当然是可以的&#xff01; 但是考虑到&#xff0c;logo一般为了好看&#xff0c;…

跳板机,堡垒机都是什么东西?

第一代堡垒机叫做跳板机。在十几年前&#xff0c;一些高端产业用户为便于远程监控与管理运维人员&#xff0c;多会在机房设置跳板机。跳板机服务器只有 1 台&#xff0c;维修人员在检修时需要统一登录至该服务器内&#xff0c;随后在服务器中再次登录到目标设备展开维护。不过&…

十六进制颜色码

英文代码形像颜色HEX格式RGB格式 LightPink 浅粉色 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 猩红 #DC143C 220,20,60 LavenderBlush 脸红的淡紫色 #FFF0F5 255,240,245 PaleVioletRed 苍白的紫罗兰红色 #DB7093 219,112,147 HotPink …

Charles 安装及配置,详细步骤

一、安装激活 1.1、下载 https://www.charlesproxy.com/download/ 1.2、激活 打开Charles > Help > Register Charles > 输入 Registered Name &#xff1a; https://zhile.io License Key&#xff1a;48891cf209c6d32bf4 二、代理配置 2.1、代理设置 Proxy > Pr…

微信小程序图片切换

微信小程序图片切换有两种方式&#xff1a; wx:if&#xff0c;需要两个image标签&#xff0c;示例如下 <image wx:if{{data}} catchtaponChangeTap srcimage1.ipg></image> <image wx:else catchtaponChangeTap srcimage2.ipg></image>两个image标签…

Bean Validation(数据校验注解大全 @Valid和@Validated的区别。

原文地址: https://www.cnblogs.com/nxzblogs/articles/13995569.html AssertFalse | bool | 元素必须是false | 否 AssertTrue | bool | 元素必须是true | 否 DecimalMax | Number的子类型&#xff08;浮点数除外&#xff09;以及String | 元素必须是一个数字&#xff0c;且值…

mysql排序.按字段值排序

order by FIELD(a.check_level, 1, 2), FIELD(a.check_status, 0, 2, 1) asc, a.create_time desc

又重写修改了nick前端工程师的代码,把它提到App.vue里来了

还把const app修改成export default { <template><title>陈尼克</title><div id"app" v-cloak><p>姓名: {{ name }}</p><p>职业: {{ state.work }}</p></div> </template><script> import { ref…