Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在没有额外ajax请求的情况下将laravel数据置于vuex状态?_Javascript_Php_Laravel_Vue.js - Fatal编程技术网

Javascript 在没有额外ajax请求的情况下将laravel数据置于vuex状态?

Javascript 在没有额外ajax请求的情况下将laravel数据置于vuex状态?,javascript,php,laravel,vue.js,Javascript,Php,Laravel,Vue.js,在我的应用程序中,为了从laravel获取全局数据到我的vue组件中,我有一个路由中间件,在那里我可以从雄辩的查询中获取全局数据,然后我将这些数据与我的视图共享,并将这些数据作为道具传递到每个组件中。到目前为止,这已被证明非常有效,但当我有嵌套组件时,可能会变得有点棘手(一个组件在另一个组件中),显然我认为使用Globals vuex模块可以解决这个问题 我可以调用vuex操作,该操作可以向我的全局变量端点发出ajax请求,并在每次创建vue实例时填充我的状态,但这将意味着向我的后端发出额外的a

在我的应用程序中,为了从laravel获取全局数据到我的vue组件中,我有一个路由中间件,在那里我可以从雄辩的查询中获取全局数据,然后我将这些数据与我的视图共享,并将这些数据作为道具传递到每个组件中。到目前为止,这已被证明非常有效,但当我有嵌套组件时,可能会变得有点棘手(一个组件在另一个组件中),显然我认为使用Globals vuex模块可以解决这个问题

我可以调用vuex操作,该操作可以向我的全局变量端点发出ajax请求,并在每次创建vue实例时填充我的状态,但这将意味着向我的后端发出额外的ajax请求,我通常会避免这样做

我的第二个想法是有一个navbar组件,其中一个ajax请求在挂载的钩子上获取全局数据,该组件将首先被加载并填充我的状态,老实说,不确定这是否有效


有什么想法吗?

如果您只是在JS脚本中以JSON的形式在blade视图中传递序列化数据如何。因此,在您的视图中,您可以设置一个全局变量,如下所示:
window.customData=@JSON($customData)};
然后您可以在某个JS boostrap文件中调用Vuex变体(或者在您觉得舒服的任何地方),这样可以获取全局可用的数据并将其推送到您所在的州。这就不需要第二次请求。我知道有些人不太喜欢污染全局命名空间,但如果仔细操作,我发现有时会非常有用。嗯,我从未想过这一点。这看起来确实很有希望。如果您通过序列化数据在JS脚本中的blade视图中以JSON形式显示。因此,在您的视图中,您可以只设置一个全局变量,如下所示:
window.customData=@JSON($customData)};
然后您可以在一些JS boostrap文件中调用Vuex变体(或任何适合您的地方),这样可以获取全局可用的数据并将其推送到您所在的州。这就不需要第二次请求。我知道有些人不太喜欢污染全局命名空间,但如果仔细操作,我发现有时会非常有用。嗯,我从未想过这一点。这看起来确实很有希望。