iis服务器助手广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue3.0-props、computed、自定义事件方式
  • 621
分享到

vue3.0-props、computed、自定义事件方式

vue3.0-propsvue3.0computedvue3.0自定义事件 2023-05-17 06:05:14 621人浏览 薄情痞子
摘要

目录1. props验证1)props验证2)对象类型的props节点3)props验证2. 计算属性1)计算属性2)声明计算属性3)计算属性的使用注意点4)计算属性和方法3. 自定

1. props验证

1)props验证

在封装组件时对外界传递过来的props数据进行合法性的校验,从而防止数据不合法的问题。

使用数组类型的props节点的缺点:无法为每个prop指定具体的数据类型。

2)对象类型的props节点

使用对象类型的props节点,可以对每个prop进行数据类型的校验。

<template>
  <h1>App</h1>
 
  <my-count :count="count" :state="state"></my-count>
</template>
 
<script>
import MyCount from './Count.Vue'
 
export default {
    name: 'MyApp',
    data() {
        return {
            count: 1,
            state: true
        }
    },
    components: {
        MyCount
    }
}
</script>

3)props验证

对象类型的props节点提供了多种数据验证方案,例如:

  • 基础的类型检查
  • 多个可能的类型
  • 必填项校验
  • 属性默认值
  • 自定义验证函数

①基础的类型检查

可以直接为数组的prop属性制定基础的校验类型,从而防止组建的使用者为其绑定错误类型。

②多个可能的类型

如果某个prop属性值的类型不一致,此时可以通过数组的形式,为其指定多个可能的类型,示例代码如下:

③必填项校验

如果组建的某个prop属性是必填项,必须让组建的使用者为其传递属性的值,此时,可以通过如下的方式将其设置为必填项:

④属性默认值

在封装组件时,可以为某个prop属性指定默认值。

⑤自定义验证函数

在封装组件时,可以为prop属性指定自定义的验证函数,从而对prop属性的值进行更加精确的控制。

2. 计算属性

1)计算属性

计算属性本质上就是一个function函数,它可以实时监听data中数据的变化,并return一个计算后的新值,供组件渲染DOM时使用。

2)声明计算属性

计算属性需要以function函数的形式声明到组件的computed选项中。

计算属性侧重于得到一个计算的结果,因此计算属性中必须有return返回值。

3)计算属性的使用注意点

  • 计算属性必须定义在computed节点中
  • 计算属性必须是一个function函数
  • 计算属性必须有返回值
  • 计算属性必须当做普通属性使用

4)计算属性和方法

相对于方法来说,计算属性会缓存计算的结果,只有计算属性的依赖项发生变化时,才会重新进行运算,因此相对来说计算属性的性能更好。

  <p>数量:{{ count }}乘以2的值为:{{ plus() }}</p>
  <p>数量:{{ count }}乘以2的值为:{{ plus() }}</p>
 
  methods: {
        plus() {
            console.log('方法被执行了');
            return this.count*2;
        }
    }

   <p>数量:{{ count }}乘以2的值为:{{ plus }}</p>  
   <p>数量:{{ count }}乘以2的值为:{{ plus }}</p> 
 
  computed: {
        plus() {
            // 计算属性会缓存计算的结果
            console.log('计算属性被执行了');
            return this.count*2;
        }
    }

 

3. 自定义事件

1)自定义事件

在封装组件时,为了让组件的使用者可以监听到组件内状态的变化,此时需要用到组件的自定义事件。

2)自定义事件的3个使用步骤

在封装组件时:

  • 声明自定义事件
  • 触发自定义事件

在使用组件时:

1.监听自定义事件

①声明自定义事件

开发者为自定义组件封装的自定义事件,必须是现在emits节点中声明。

②触发自定义事件

在emits节点下声明的自定义事件,可以通过this.$emit('自定义事件的名称')方法进行触发。

③监听自定义事件

在使用自定义的组件时,可以通过v-on的形式监听自定义事件。

3)自定义事件传参

在调用this.$emit()方法触发自定义事件时,可以通过第2个参数为自定义事件传参。

4. 组件上的v-model

1)在组件上使用v-model

v-model是双向数据绑定指令,当需要维护组件内外数据的同步时,可以在组件上使用v-model指令。

  • 外界数据的变化会自动同步到counter组件中
  • counter组件中数据的变化,也会自动同步到外界

2)在组件上使用v-model的步骤

   

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: vue3.0-props、computed、自定义事件方式

本文链接: https://www.lsjlt.com/news/210748.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3.0-props、computed、自定义事件方式
    目录1. props验证1)props验证2)对象类型的props节点3)props验证2. 计算属性1)计算属性2)声明计算属性3)计算属性的使用注意点4)计算属性和方法3. 自定...
    99+
    2023-05-17
    vue3.0-props vue3.0computed vue3.0自定义事件
  • C#事件怎么自定义
    这篇文章主要介绍“C#事件怎么自定义”,在日常操作中,相信很多人在C#事件怎么自定义问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#事件怎么自定义”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!事件,是C...
    99+
    2023-06-17
  • WPF自定义路由事件
    与依赖项属性类似,WPF也为路由事件提供了WPF事件系统这一组成。为一个类型添加一个路由事件的方式与为类型添加依赖项属性的方法类似,添加一个自定义路由事件的步骤: 一、声明路由事件变...
    99+
    2024-04-02
  • C#为控件添加自定义事件及自定义触发
    先随便搞个事件吧 public class TestEventrgs : EventArgs { private string _name; ...
    99+
    2024-04-02
  • Vue中怎么自定义事件
    本篇文章给大家分享的是有关Vue中怎么自定义事件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。事件绑定每个 Vue 实例都实现了事件接口 (E...
    99+
    2024-04-02
  • C#中如何自定义事件
    这篇文章将为大家详细讲解有关C#中如何自定义事件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#自定义事件C#语言中有77个关键字,其中delegate和event专门为C#中事件处理系统...
    99+
    2023-06-17
  • RestTemplate自定义ErrorHandler方式
    目录RestTemplate自定义ErrorHandlerRestTemplate实例三个步骤:SpringBoot 中使用 RestTemplate 自定义 异常处理,捕获最原始的...
    99+
    2024-04-02
  • vue props使用typescript自定义类型的方法实例
    目录前言一、问题定位二、初级解决方案解法一,函数法解法二 PropType泛型三、props的校验过程四、后话参考总结 前言 Base: vue@3.2.33 + type...
    99+
    2023-01-28
    vue组件props ts自定义类型
  • C#怎么为控件添加自定义事件及自定义触发
    本文小编为大家详细介绍“C#怎么为控件添加自定义事件及自定义触发”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么为控件添加自定义事件及自定义触发”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。先随便搞个事件...
    99+
    2023-06-30
  • SpringBoot实现自定义事件的方法详解
    目录简介步骤1:自定义事件步骤2:自定义监听器方案1:ApplicationListener方案2:SmartApplicationListener步骤3:注册监听器法1:@Comp...
    99+
    2024-04-02
  • vue怎么自定义事件传参
    这篇“vue怎么自定义事件传参”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么自定义事件传参”文章吧。自定义事件传参...
    99+
    2023-06-30
  • 如何创建 JavaScript 自定义事件
    目录怎么创建自定义事件事件定制冒泡 bubbles可取消 cancelable组合 composed给事件传递自定义数据命名约定双击事件总结前言: 相信大家肯定处理过很多的事件监听,...
    99+
    2024-04-02
  • JS中自定义事件与观察者模式详解
    目录一、前言二、观察者模式优缺点三、代码实现四、DOM自定义事件API一、前言 观察者模式 也称发布-订阅模式 、 模型-视图模式 。当对象间存在一对多关系时,则使用观察者模式(Ob...
    99+
    2024-04-02
  • JavaScript加强之自定义event事件
    复制代码 代码如下: $().ready(function(){ for(var i=0;i<5;i++){ // $("#aa").click(function(){ //...
    99+
    2022-11-15
    event事件
  • vue如何自定义事件传参
    目录自定义事件传参先来简单看个例子自定义事件的$event传参问题原生vue里的$event自定义事件里的$event自定义事件传参 先来简单看个例子 TodoList.vue : ...
    99+
    2024-04-02
  • SpringBoot@Cacheable自定义KeyGenerator方式
    目录@Cacheable自定义KeyGenerator1. 概述2. MySimpleKey 类3. MyKeyGenerator 类4. 配置keyGeneratorSpring-...
    99+
    2024-04-02
  • golang import自定义包方式
    1.初探 刚开始接触go时,以为import自定义包与Java工程类似,在非GOPATH的路径中新建了一个go项目HelloGo,如下: 接下来,利用beego的bee工具新建了另...
    99+
    2024-04-02
  • SpringCloudFeignJackson自定义配置方式
    目录Feign Jackson自定义配置出现的问题解决思路解决方法Feign自定义配置应用环境自定义Feign的配置Feign中记录日志测试Feign自定义的配置查看日志Feign ...
    99+
    2024-04-02
  • Vue之组件的自定义事件详解
    目录总结 <template> <div > <h2>{{msg}}</h2> <!-- 通过父组件给...
    99+
    2024-04-02
  • java启动时自定义配置文件路径,自定义log4j2.xml位置方式
    目录java启动时自定义配置文件路径,自定义log4j2.xml位置启动时指定配置文件位置有一种说法:说配置文件加载顺序为(由高到低)经验证后来又发现一个问题如果启动不了java服务...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作