如何在Laravel 5.4中使用Vue(最佳实践)

时间:2017-07-29 19:25:42

标签: php laravel vuejs2 laravel-blade

我是一名软件工程师,没有很多PHP或javascript的经验。我将升级我的技能,所以我开始使用PHP框架Laravel,在我看来这看起来非常好。我很熟悉MVC校长,所以我可以在Laravel找到自己的方式!

我用相应的控制器创建了一些模型。我还创建了一些刀片视图来显示数据。我给刀片视图提供了一个模型对象:

    $person = new \App\Person("Firstname", "Lastname");
    return view('personView', compact('person'));

我可以完成它,在刀片视图中使用person对象来显示他的变量:

{{ $user->name }}

现在我试图更进一步,并希望用Vue做一些事情,这样我就可以在客户端显示和操作对象(并显示动态数据)。后来我想通过HTTP帖子或其他东西通过控制器中的动作保存客户端对象,但首先要先解决...

我能够创建一个包含一些数据的vue对象,并在HTML控件中显示它。

所以,总结

  1. 我能够生成我的后端对象并操纵它们。我可以将它们带到我的视图中并使用{{$ obj-> var}}
  2. 显示它们
  3. 我可以使用数据创建Vue对象,并操纵这些数据并使用@ {{data}}显示它。
  4. 我的问题是我无法从控制器(我给视图给出的视图)中获取数据到Vue对象中。这样做的最佳做法是什么?或者这不是要走的路?在这种情况下,当我读到Laravel集成Vue时,有什么方便的做法,这听起来应该有(最佳实践)方法来实现这一点?

    我找了一个创建教程但是找到了这个。因此,如果有人有一个很好的教程来学习Laravel与Blade和Vue的结合,请分享!

    我已经尝试过这样的事情,遗憾的是没有任何结果:

    new Vue({
    
        el: '#someElement',
    
        data: {
            person: {!! $person!!}
        }
    
    })
    

    (使用Laravel 5.4.x和Vue 2.4.x)

1 个答案:

答案 0 :(得分:0)

您可以简单地将对象传递给vue组件:

<my-component :person="{{ $person }}" ></my-component>

你的Vue组件

<template>
   {{ person.name }}
</template>
<script>
    export default {
        props: ['person']
    }
</script>