Для сайта, создаваемого на Laravel, у меня есть таблицы с большим разнообразием в tds. Таким образом, я подумал, что имеет смысл вынести логику рендеринга td в отдельный партиал представления.
Однако следующее кажется неправильным, особенно если в таблицах есть сотни строк и много столбцов:
@foreach ($tableRows as $tableRow)
@foreach ($tableCols as $tableCol)
@include('partials.td', ['tableRow' => 'tableRow', 'tableCol' => 'tableCol'])
@endforeach
@endforeach
Как лучше всего обрабатывать партиал представления, который, возможно, придется включать буквально сотни раз для отображения страницы?
Спасибо.






На мой взгляд, лучше всего использовать шаблоны Vue. создайте файл Vue в js / assets и поместите туда шаблон, передав переменные td в качестве реквизита Vue позаботится о большом количестве строк данных и по возможности будет использовать их повторно.
НО
если вы хотите уменьшить нагрузку на клиентскую сторону, ваш текущий способ подойдет; его можно немного улучшить, но для сотен строк данных этого достаточно.
Я все же предлагаю переложить бремя на клиентскую сторону.
прочтите эту ссылку, может это поможет: vuejsdevelopers.com/2017/11/06/…
Не уверен, что это действительно помогает, но спасибо за это. Мне нужно прочитать это еще раз и больше подумать.
Я, конечно, понимаю вашу рекомендацию, но я бы предпочел пока оставить ее на стороне сервера. При этом моя наивная рекомендация - это нормально? Может быть, имеет смысл сделать компонент для td и использовать его? Оптимизирует ли Laravel это за кулисами, скомпилировав шаблон один раз, а затем просто постоянно вызывая одну и ту же функцию снова и снова? Я предполагаю, что меня больше всего беспокоит, как сделать это логичным способом, который также не является огромной нагрузкой на сервер (за исключением рендеринга Vue на стороне клиента). Спасибо.