【问题标题】:how can i use auth value into v-if condition in vue如何在 vue 中将 auth 值用于 v-if 条件
【发布时间】:2018-09-03 14:15:59
【问题描述】:

我想在 vue 中使用 Auth 变量。但它没有运行 我在 vue 中的代码是这样的。这段代码可以吗?

<template lang="html">
  <div class="chat-message" v-if="message.user_from == '<?php echo 
Auth::user()->id; ?>'">
    <div class="chatright">
  {{message.user_from}} {{message.msg}}
    </div>
  </div>
  <div class="chatleft" v-else>
    {{message.user_from}} {{message.msg}}
  </div>
</template>

【问题讨论】:

  • 那么这段代码中给出的错误是什么?
  • v-if 条件无法识别。
  • 我认为 vue 没有读取 auth 变量
  • 尝试使用 {{Auth::user()->id}}
  • 它也没有运行

标签: laravel vue-component


【解决方案1】:
<script> var user_is = <?php echo Auth::user()->id; ?></script>

然后将变量置于最终起作用的条件

【讨论】:

  • 我可以这样说吗?
  • 我需要在根先生中声明该变量吗?
  • 就在你的 if 条件下,如果这不起作用,那么在 root 上进行 decalare
  • 天啊。谢谢先生
  • 它的工作先生。最后谢谢你,谢谢你的帮助,先生
【解决方案2】:

尝试使用适合您的情况的 Vuex,或者您可以使用 localStorage 来持久化userId,否则您无法这样做:

message.user_from == '<?php echo Auth::user()->id; ?>

因为您试图在模板中初始化user_from,所以您应该在脚本标签中进行此操作

【讨论】:

  • 啊,好吧。我只是 vue 的新手。我什至不知道 vuex 嘿嘿我会试着理解这一点,谢谢先生
【解决方案3】:

您可以将其附加到 HTML 的根文档,也可以将用户作为道具传递给该 Vue 组件。 注意:如果在vue中传递HTML文档对象,当然要明白不要发送任何敏感信息。

在您的母版页的 head 部分中,添加以下内容:

<script>
    window.App = {!! json_encode(
    'user' => Auth::user(),
    'signedIn'=>Auth::check(),
]) !!};
</script>

在您的组件中,您可以通过正常方式访问它:App.user.something。

或者,如果您发送 $user 对象,则可以将其作为道具传递。

<your-compoenent :user="{{$user}}"></your-component>

希望这对你有帮助。

【讨论】:

  • 我的母版页中有这段代码。如何在我的 vue 模板中调用这个变量。我认为我调用变量的方式是错误的,请纠正我 这是我的 vue 模板
  • 您不需要在母版页中使用id 属性,但如果您这样做,只需将其用作函数即可。 Auth::user()-&gt;id()。 @菜鸟
猜你喜欢
相关资源
最近更新 更多
热门标签