首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel-vue项目中从显示为“空”字符串的数据库中获取空数据。

在laravel-vue项目中从显示为“空”字符串的数据库中获取空数据。
EN

Stack Overflow用户
提问于 2021-06-01 18:34:45
回答 4查看 502关注 0票数 1

例如,如果我以以下参数获取用户数据

代码语言:javascript
复制
first_name -> john
last_name -> null

当我想要填充输入(或span,p,..)我想将空数据显示为空字符串,但它显示为“空”字符串。

代码语言:javascript
复制
<h3 class="dahsboard__sidebar__header__name">{{userData.first_name +' '+ userData.last_name}}</h3>

它显示如下:

代码语言:javascript
复制
"jhon null"

通过在axios中这样做,我找到了一种防止这种情况的方法:

代码语言:javascript
复制
this.userData = res.data;
for(let user in this.userData){
            if(this.userData[user]=='null' || this.userData[user]==null){
                this.userData[user] = '';
            }
        }

在上面的代码中,this.userData是我使用axios获取的所有用户数据,但我正在寻找一种更好(专业)的方法来实现它

我的Api请求是这样的:

代码语言:javascript
复制
$user = Auth::user();
return \response()->json([
        'first_name' => $user->name,
        'last_name' => $user->last_name,
        'email' => $user->email,
        'avatar'=>$path //don't mind the avatar 
    ],200);
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-01 19:10:29

这是因为当您尝试连接JavaScript中的字符串时,针对null值,JavaScript将使用松散转换将null转换为"null"

为了避免这个问题,您有很多选择,但我认为最简单的方法是只使用两个单独的打印。

代码语言:javascript
复制
<h3 class="dahsboard__sidebar__header__name">
    {{ userData.first_name }} {{ userData.last_name }}
</h3>

这样,您就可以避免级联问题,因为如果其中的每一个都为null,则不会打印任何内容。

我还没有真正测试过它,但是它应该能工作,除非Vue编译器破坏它!

票数 0
EN

Stack Overflow用户

发布于 2021-06-01 18:39:10

代码语言:javascript
复制
<h3 class="dahsboard__sidebar__header__name">
    {{ (userData.first_name ?? '') + ' ' + (userData.last_name ?? '') }}
</h3>

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator

票数 0
EN

Stack Overflow用户

发布于 2021-06-01 18:56:26

在您的API中,您应该能够拥有如下内容:

$user->last_name ? $user->last_name : ''

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67794327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档