vue 判断一个属性值,如果是null或者空字符串或者是空格没有值的情况下,赋值为--

news/2025/2/22 17:47:56

在 Vue 中,可以通过多种方式来判断一个属性值是否为 null、空字符串或者仅包含空格,如果满足这些条件则将其赋值为 --。下面分别介绍在模板和计算属性、方法中实现的具体做法。

1. 在模板中直接判断

如果只需要在模板中对属性值进行显示处理,可以使用三元运算符来判断并赋值。

收起

vue

<template>
  <div>
    <!-- 判断 message 属性 -->
    <p>{{ message === null || message.trim() === '' ? '--' : message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: '   ' // 这里可以修改为不同的值进行测试
    };
  }
};
</script>

2. 使用计算属性

如果需要多次使用这个处理逻辑,或者处理逻辑比较复杂,建议使用计算属性。

收起

vue

<template>
  <div>
    <!-- 显示处理后的 message -->
    <p>{{ processedMessage }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: null // 这里可以修改为不同的值进行测试
    };
  },
  computed: {
    processedMessage() {
      // 判断 message 是否为 null 或空字符串或仅包含空格
      return this.message === null || this.message.trim() === '' ? '--' : this.message;
    }
  }
};
</script>

3. 使用方法

如果希望在某些事件触发时动态处理属性值,可以使用方法。

收起

vue

<template>
  <div>
    <!-- 点击按钮时处理 message -->
    <button @click="processMessage">处理消息</button>
    <!-- 显示处理后的 message -->
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: '' // 这里可以修改为不同的值进行测试
    };
  },
  methods: {
    processMessage() {
      // 判断 message 是否为 null 或空字符串或仅包含空格
      if (this.message === null || this.message.trim() === '') {
        this.message = '--';
      }
    }
  }
};
</script>

以上三种方式都可以实现判断属性值是否为 null、空字符串或者仅包含空格,并在满足条件时将其赋值为 -- 的功能。可以根据具体的需求选择合适的方式。


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

相关文章

分布式光伏运维云平台:智能化运维,助力光伏电站高效运行

1光伏背景 行业背景--国家政策 发改能源〔2022〕206号文件指出&#xff1a;“在农村地区优先支持屋顶分布式光伏发电以及沼气发电等生物质能发电接入电网&#xff0c;电网企业等应当优先收购其发电量。”《国家能源局综合司关于报送整县&#xff08;市、区&#xff09;屋顶分…

无人机遥控器接口作用详解!

USB接口&#xff1a; 功能&#xff1a;USB接口是一种通用串行总线接口&#xff0c;用于连接外部设备&#xff0c;如手机、平板、电脑或充电设备。在无人机遥控器上&#xff0c;USB接口通常用于数据传输和充电。 应用&#xff1a;用户可以通过USB接口将遥控器与电脑连接&#…

rabbitMq创建队列和交换机不成功的问题(解决方案和排查问题思路)

问题背景: 1.SpringbootRabbitmq项目启动后不能自动创建交换机和队列 2.消费者和生产者是在2个不同微服务中 3.先启动生产者的模块, 启动成功, 但是交换机和队列没有创建, 然后启动消费者一直启动失败 4.生产者的微服务配置了交换机队列和绑定key的声明, 消费者直接监听了队…

Docker 部署AnythingLLM

两个指令搞定 1.下载镜像 docker pull mintplexlabs/anythingllm 2.运行容器 export STORAGE_LOCATION$HOME/anythingllm mkdir -p $STORAGE_LOCATION chmod -R 777 $STORAGE_LOCATION touch "$STORAGE_LOCATION/.env" docker run -d -p 3001:3001 \ --cap-add SY…

设计模式教程:中介者模式(Mediator Pattern)

中介者模式是一种行为型设计模式&#xff0c;它用于减少对象之间的直接依赖关系。通过引入一个中介者对象&#xff0c;所有对象的交互都通过中介者进行&#xff0c;而不是直接相互通信。这种模式的主要目的是减少对象之间的耦合&#xff0c;提升系统的灵活性和可维护性。 1. 定…

深入浅出机器学习:概念、算法与实践

目录 引言 机器学习的基本概念 什么是机器学习 机器学习的基本要素 机器学习的主要类型 监督学习&#xff08;Supervised Learning&#xff09; 无监督学习&#xff08;Unsupervised Learning&#xff09; 强化学习&#xff08;Reinforcement Learning&#xff09; 机器…

批量操作实现与优化

1、批量操作 方案设计 基本功能实现 /*** 批量添加题目和题库关联** param questionIdList 题目id列表* param questionBankId 题库id* param loginUser 登录用户*/OverrideTransactional(rollbackFor Exception.class)public void batchAddQuestionBankQuestion(List<Lon…

从0开始的操作系统手搓教程9:更好的内核1——简单讨论一下C与ASM的混合编程

现在&#xff0c;我们已经成功的进入了我们的内核。在之后更长的一段时间&#xff0c;我们可以使用更加高级的编程语言&#xff0c;也就是我们的C语言&#xff0c;而不是汇编来完成我们的工作。 C语言的确被广泛认为是一门非常接近硬件的编程语言&#xff0c;但是&#xff0c;…