开发中千万不要轻视空格

本文通过一个简单的Vue Dialog组件例子,展示了因为空格导致的代码错误。在模板中,slot名称添加了空格,使得底部按钮失效。作者提醒开发者,对于如ID、ref、slot这类需要精确匹配的地方,不应添加不必要的空格,以避免引发类似问题。
摘要由CSDN通过智能技术生成

积跬步 至千里

简单例子

开发中由于自己的格式代码方式有问题,可能一不小心加了空格 ,有些加空格可能不受影响,但有些时候加空格就会出现失效,导致错误。

<template>
<div>
 <el-button type="text" @click="dialogVisible = true">点击打开 Dialog</el-button>

<el-dialog
  title="提示"
  :visible.sync="dialogVisible"
  width="30%"
  :before-close="handleClose">
  <span>这是一段信息</span>
  <span slot="footer" class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>
</el-dialog>
</div>
   
</template>
<script>
export default {
  data() {
    return {
      dialogVisible: false
    };
  },
  methods: {
    handleClose(done) {
      this.$confirm('确认关闭?')
        .then(_ => {
          done();
        })
        .catch(_ => { });
    }
  }
};
</script>

以下是一个最简单的dialog 弹框,效果图如下 :

出现BUG了

很久没有动的代码,竟然被报了bug,原因是 底部的按钮没了效果类似如下:

此时的代码

<span slot="footer " class="dialog-footer">
    <el-button @click="dialogVisible = false">取 消</el-button>
    <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
  </span>

说实话第一眼我没注意出来,就自己受用注释写了一遍,发现就好了,左看右看,右看左看,是 空格 惹的祸,slot 名称 footer 加了空格,所以名称匹配不上,就显示不出footer。

空格真的会惹来大麻烦

问题排查,是同事替代吗格式化问题,导致加了很多的空格,包括类名 监听的方法名 slot ref 等,测试了一下 class  方法名 后面加空格没受影响,但是 slot ,都受到了影响

所以没必要的空格 不管是哪都不要加了 ,特别是类似Id ref slot 需要精确匹配的更要注意。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值