【问题标题】:Laravel- displaying partial using different scopes on the same pageLaravel-在同一页面上使用不同的范围显示部分
【发布时间】:2015-10-10 11:16:07
【问题描述】:

我正在 laravel 中构建我的第一个项目,我有一个索引页面,我想在其中显示 4 个不同的列表(它们是相同数据的不同类别,用户将有权查看一个或多个列表)

列表(名称、链接、图像等)的格式是相同的,所以我为它做了一个部分,我的想法是在这个索引页面上我会检查经过身份验证的用户以及他们是否拥有列表 A 的权限然后显示它,如果他们有列表 B 的权限,则显示它,等等。

为了尝试一下,我为第一个类别(在我的控制器中)创建了一个范围,当我将它传递给一个完全独立的视图时,它会显示正确的数据。但是我不清楚如何/是否可以在索引视图上多次显示部分,每次都具有不同的范围。 解决此问题的正确方法是什么?

我想我会做一些事情,比如一次检查一个权限,创建一个仅具有该数据范围的变量,并仅显示该数据的部分,例如:

@include ('partials._items_list') , $category_A)

但是这里的评论表明一个视图一次只有一个数据范围(所以也许我的想法不是一个有效的东西): Laravel - Modify and return variable from @include

【问题讨论】:

    标签: laravel view scope partial


    【解决方案1】:

    您可以使用以下方式传递具有相同部分的不同值:

    @include ('partials._items_list') , ['categoey_A' => $category_A]);
    
    @include ('partials._items_list') , ['categoey_A' => $category_B]); // <-- Different Value
    

    在您的partials._items_list 视图中仅使用{{ $categoey_A }},但输出会有所不同。

    【讨论】:

    • 哦,哇,如果这行得通,这真是个好消息!为确保我理解,如果我用这些名称重新表述您的建议:`@include ('partials._people_list'), ['scope' => $category_A]); ` 然后我需要在部分本身中引用那个“范围”吗?别的地方?或者我可以在某个地方读到这个概念的名称吗?谢谢!!
    • 在您的局部视图中,您可以使用{{$categoey_A}},但两者都会包含不同的结果。
    • 就是这样!你说对了!!!!所以是的 - 现在我可以指定部分将加载的数据集 - 这太棒了:):) 现在唯一缺少的步骤(我认为更简单)是如何在索引视图上实际实例化变量调用部分,我实际上有一个单独的问题:stackoverflow.com/questions/33065270/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 2021-10-26
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多