使用 Laravel 链接到页面上的特定锚点

Posted

技术标签:

【中文标题】使用 Laravel 链接到页面上的特定锚点【英文标题】:link to specific anchor on a page with Laravel 【发布时间】:2014-08-08 03:58:30 【问题描述】:

如何使用 Laravel 链接到视图中的特定 id?

我的控制器:

public function services() 
 return View::make('services.custom_paint', array('pageTitle' => 'Custom Paint'))->with('default_title', $this->default_title);

我的路线:

Route::get('/custom_paint',  'PagesController@services');

我尝试将#id 添加到路由、控制器,甚至视图的URL::to。似乎没有任何效果。

我认为只需将 id 添加到 URI 就可以了,但显然我遗漏了一些东西。

【问题讨论】:

您能否展示一些您尝试过的代码“将#id 添加到路由、控制器甚至视图的 URL::to”? 【参考方案1】:
// Controller
Route::get('/custom_paint', array('as' => 'custom_paint', 'uses' => 'PagesController@services'));

// View
<a href=" URL::route('custom_paint') #id">LINK</a>

试试这个代码 ;) 希望它能工作..

【讨论】:

在控制器中,这也可以使用(至少在 Laravel 5.5 中):return redirect()-&gt;to(route('custom_paint') . '#id');(另见:***.com/a/41606730/2286722) @lieroes 我试过你的代码,但在我的情况下不起作用,你能看看我的问题吗? ***.com/q/62847193/12030116,如果这个问题得到解决,我会支持你的两个答案(在我的问题和这个问题中)。【参考方案2】:

如果您将 id 作为参数传递给控制器​​,并且需要使用 #id 指向正确的结果

 <a href=" route('custom_paint',['id'=>'$id_value','#id']) ">Try</a>

我假设上面将呈现为http://localhost/custom_paint/id=123#id

或者直接指向ID:

<a href=" route('custom_paint',['#id']) ">Try</a>

我假设上面将呈现为http://localhost/custom_paint/#id

【讨论】:

【参考方案3】:

简单地使用

&lt;a href=" route('custom_paint') "&gt;LINK&lt;/a&gt;

如果需要参数就这样使用

&lt;a href=" route('custom_paint', 'param1') "&gt;LINK&lt;/a&gt;

route

【讨论】:

以上是关于使用 Laravel 链接到页面上的特定锚点的主要内容,如果未能解决你的问题,请参考以下文章

使用带反应路由器的锚点

使用带有 react-router 的锚点

两个页面上相同的锚点 ID:如何从一个页面链接到另一页上的锚点

html 链接到同一页面上的锚点

向 Laravel 重定向添加一个锚点

页面添加锚点的三种方式