2014-07-08 58 views
0

在Laravel有這條路線: Route::get('post/{id}/comments','[email protected]'); 我試圖從一個PHP視圖中的錨html標籤href屬性訪問它,它使用angular來呈現項目列表。這是從該視圖(_post_content.php)一段代碼:拉拉維爾路線訪問從PHP視圖使用角

<ul class="media-list" > 
     <li class="media" ng-repeat="item in items" > 
     <div class="media-body"> 
      <div class="row"> 
       <div class="col-sm-9"><h5 class="media-heading"> 
        <a href="post/{{item.id}}/comments">{{ item.title }}</a> </h5></div> 
      </div> 
     </div> 
     </li> 
    </ul> 

通過在方法showComments控制器PostCommentsController製成的新的視圖,類似於_post_content.php但它示出了由交ID註釋( item.id,在ng-repeat)。 但是,對於整個應用程序中的其他鏈接,即使在其主要佈局中:navbars和徽標錨點,圖像錨點等等;它的URL是由路徑/ post/4/comments預先定義的。 例如,如果我點擊_post_content.php的項目4,主佈局中左側導航欄中名爲博客的鏈接顯示爲url:/ post/4/comments/blog 當然,此路線不存在並打破所有的應用程序。

請解決這個奇怪的行爲的任何線索?是否有可能造成角度,雖然我不使用角度路線?

感謝您的幫助。

回答

0

如果您正在使用您的其他環節相對路徑,你應該以正斜槓前面加上他們,所以不是:

<a href="blog"> 

你應該有:

<a href="/blog"> 

這樣的鏈接將相對於根而不是當前路徑(在你的情況下是/post/id/comments)。

作爲替代方案,你也可以使用base meta標籤,通過包括這個在您的網頁<head>

<base href="http://yourdomain.com/"> 

但要注意,有一些副作用,使用base這可能會影響您的應用程序。閱讀更多信息:Is it recommended to use the <base> html tag?

+0

非常感謝你@Bogdan。兩個建議都解決了這個問題。當然,我會檢查一下特殊的meta標籤,這確實看起來很有趣。 –