Laravel Vue+;拉威尔:仍然使用旧的端点分页吗?

Laravel Vue+;拉威尔:仍然使用旧的端点分页吗?,laravel,vue.js,Laravel,Vue.js,我正在开发一款使用刀片文件已有一段时间的Laravel应用程序。我们正在将部分应用程序切换为使用Vue。其中一个端点使用了分页,其末尾带有page参数。 例如:/store/api/users?page=1,每个页面显示20个用户——有点像懒虫。 对于Vue来说,这样做有意义吗?有了Vue,端点不应该让我获得所有用户,然后我就可以用这些数据做我想做的事情吗?不,您不应该查询所有数据并返回vuejs。如果您的数据量很大,那么您将面临性能下降的大麻烦。因此,即使在响应json而不是视图时,也最好使用

我正在开发一款使用刀片文件已有一段时间的Laravel应用程序。我们正在将部分应用程序切换为使用Vue。其中一个端点使用了分页,其末尾带有
page
参数。
例如:
/store/api/users?page=1
,每个页面显示20个用户——有点像懒虫。

对于Vue来说,这样做有意义吗?有了Vue,端点不应该让我获得所有用户,然后我就可以用这些数据做我想做的事情吗?

不,您不应该查询所有数据并返回vuejs。如果您的数据量很大,那么您将面临性能下降的大麻烦。因此,即使在响应json而不是视图时,也最好使用Larave的分页

例如,当您使用blade时,您正在执行以下操作:

$users = User::where('column', $value)->paginate();

return view('user.index', compact('user'));
$users = User::where('column', $value)->paginate();
return $users;
对吧??现在您使用的是
Vuejs
,它的长度感知paginator实例仍然很不错。因此,现在您可以执行以下操作:

$users = User::where('column', $value)->paginate();

return view('user.index', compact('user'));
$users = User::where('column', $value)->paginate();
return $users;
这将返回所有分页元数据,如总页面、当前页面等。
因此,您可以在vuejs中完美地操作这些数据

否,您不应查询所有数据并返回vuejs。如果您的数据量很大,那么您将面临性能下降的大麻烦。因此,即使在响应json而不是视图时,也最好使用Larave的分页

例如,当您使用blade时,您正在执行以下操作:

$users = User::where('column', $value)->paginate();

return view('user.index', compact('user'));
$users = User::where('column', $value)->paginate();
return $users;
对吧??现在您使用的是
Vuejs
,它的长度感知paginator实例仍然很不错。因此,现在您可以执行以下操作:

$users = User::where('column', $value)->paginate();

return view('user.index', compact('user'));
$users = User::where('column', $value)->paginate();
return $users;
这将返回所有分页元数据,如总页面、当前页面等。
因此,您可以在vuejs中完美地操作这些数据

很好,是的。但是,您应该知道,随着数据的增长,该页面的加载速度会变慢。当您添加更复杂的关系时,该页面的加载速度将变慢。等等@Ohgoodwhy谢谢!那么,最好的方法是什么呢?让后端控制前端框架的分页不是一种反模式吗?不总是这样。特别是当你处理10的百万行。但是,在您真正开始看到性能下降之前,不要担心。我的口头禅是让它工作起来,当你开始赚钱时,回去重构。谢谢@OhGodWhyth这很好,是的。但是,您应该知道,随着数据的增长,该页面的加载速度会变慢。当您添加更复杂的关系时,该页面的加载速度将变慢。等等@Ohgoodwhy谢谢!那么,最好的方法是什么呢?让后端控制前端框架的分页不是一种反模式吗?不总是这样。特别是当你处理10的百万行。但是,在您真正开始看到性能下降之前,不要担心。我的口头禅是让它工作起来,当你开始赚钱的时候,回去重构。谢谢@Ohgodwhy