如何在vue中将auth值用于v-if条件

时间:2018-03-25 09:42:36

标签: laravel vue-component

我想在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>

3 个答案:

答案 0 :(得分:0)

尝试使用 Vuex 它适合您的情况,或者您可以使用 localStorage 来保留userId,否则您无法执行此操作:

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

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

答案 1 :(得分:0)

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

在head部分的you master页面中,添加:

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

在您的组件中,您可以通过正常方式联系到它:App.user.something

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

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

希望你这样做。

答案 2 :(得分:0)

<script> var user_is = <?php echo Auth::user()->id; ?></script>

然后将变量置于最终工作状态