为了账号安全,请及时绑定邮箱和手机立即绑定

如何将布尔值从 Blade 传递到 Vue 组件 Laravel 7?

如何将布尔值从 Blade 传递到 Vue 组件 Laravel 7?

PHP
蓝山帝景 2023-08-26 19:14:29
我正在尝试在 Vue 组件中实现IFtrue/false 或 1/0 条件。我浏览了一些之前提出的问题,但无法得到它。请帮帮我。IFtrue即使dd给出,条件也不会给出输出true。控制器(我尝试了两种方法,以便我可以使用 true/false 或 1/0 获得成功,在页面上的两种方法中,我都可以使用 dd($isExamAssigned) 获得 1/0 或 true/false):    dd($isExamAssigned); // here I'm able to get 1 or 0刀片.php:    <quiz-component      :isExamAssigned = "{{$isExamAssigned}}"   ></quiz-component>Component.vue 的代码部分:props:['isExamAssigned'],data(){    return{            isExamAssigned :this.isExamAssigned,        }这是 IF 条件:<div v-if="isExamAssigned === '1'">                        <!-- Code here for IF -->                    </div>                    <div v-else>                        <!-- Code here for ELSE -->                    </div>我尝试了不同的方法来获取值,例如:<div v-if="isExamAssigned === 1"><div v-if="isExamAssigned === true"><div v-if="isExamAssigned">但我无法实施条件。
查看完整描述

4 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

尝试在 Blade.php 文件中像这样传递 prop

:isExamAssigned="{{ json_encode($isExamAssigned) }}"

这将以布尔格式发送道具。


查看完整回答
反对 回复 2023-08-26
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

Himanshu的答案是正确的,也可以写成这样:

:isExamAssigned='@json($isExamAssigned)'



查看完整回答
反对 回复 2023-08-26
?
函数式编程

TA贡献1807条经验 获得超9个赞

您将其设置为'1'vue 组件中的字符串值。稍后你再将它与整数、布尔值和布尔值进行严格比较。最正确的方法是将其设置为真正的布尔值,如下所示。你的第二种方法会起作用。


$isExamAssigned = DB::table('quiz_user')->where('user_id', $authUser)->where('quiz_id', $quizId)->exists();

现在 PHP 类型很奇怪,如果你打印出来,$isExamAssigned它会打印出 1。你可以尝试一下{{true}},自己看看结果。为了避免这种情况,请在设置组件时在刀片文件中执行以下检查。


:isExamAssigned = "{{$isExamAssigned ? 'true' : 'false'}}"

这将使以下 if 语句起作用。


<div v-if="isExamAssigned === true">


<div v-if="isExamAssigned">


查看完整回答
反对 回复 2023-08-26
?
四季花海

TA贡献1811条经验 获得超5个赞

先生的回答是正确的。


您可以通过在模型上设置演员阵容来让 Laravel 为您进行演员阵容。


// On a model, e.g. App\Models\Exam.php


$casts = ['is_exam_assigned' => 'boolean'];

https://laravel.com/docs/master/eloquent-mutators#attribute-casting


查看完整回答
反对 回复 2023-08-26
  • 4 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信