从Laravel向Vue传输数据的四种方法一直在做同时使用Vue和Laravel的项目,在每个项目开发之初,我都要问自己“我将如何将数据从Laravel传输到Vue?”。这适用于Vue前端组件与Blade模板紧密耦合的应用程序,以及完全独立于Laravel后端运行的单页应用程序。这里有四种不同的方法来从一个到另一个获取数据。直接回显到数据对象或组件属性优点:简单明了缺点:必须与嵌入在Blade模板中的Vue应用程序一起使用可以说是将数据从Laravel应用程序移动到Vue前端的最简单方法。使用上述任何一种方法,您都可以将JSON编码的数据回显给您的应用程序或其组件。然而,最大的缺点是可扩展性。您的JavaScript需要直接在模板文件中公开,以便引擎可以呈现您的数据。如果您使用Vue向Laravel站点的页面或区域添加一些基本的交互性,这应该不是问题,但是您很容易遇到将数据强制写入缩小脚本的困难。UsingthejsondirectiveforLaravel5.5+:使用自定义组件和Laravel自己的jsonblade指令可以让你轻松地将数据移动到props中。这种方法允许您划分Vue代码,将脚本与Webpack或Mix捆绑在一起,同时仍将数据直接注入其中。Injectpropertyasglobalwindow优点:在整个Vue应用程序和任何其他脚本中全局可用缺点:可能会造成混淆,通常不推荐用于大型数据集虽然这看起来很老套,但将数据添加到窗口对象可以轻松创建可以访问的全局变量来自应用程序中使用的任何其他脚本或组件。过去,我用它来存储和访问API基本URL、公钥、特定于模型的ID以及需要在整个前端使用的各种其他小数据项。但是,此方法有一个注意事项,即如何访问Vue组件的内部数据。在模板内部,您将无法使用以下内容,因为Vue假定您尝试访问的窗口对象位于同一组件内://won'twork这是一个秘密窗口,不要告诉任何人!
