2013-12-12 34 views
1

我正在開發像pinterest這樣的前端,當引腳被點擊時,應該在模式中加載,這裏沒有問題。Angularjs - 更新網址,無需更新當前控制器和模板

但一個要求是,當模式被加載並且在後臺必須保持引腳列表時,URL應該改變。

我不能做到這一點,嘗試使用角度的UI,但是當URL更改UI視圖元素被清洗過

在這裏,在計算器有很多類似的問題,但這裏的問題是,並不是孩子網址

URL1:site.com /列表/ categorie - > URL2:site.com /標題

我如何更改URL,並保持當前內容的背景是什麼?

謝謝!

回答

0

你很可能使用HTML歷史的API。看看這篇文章。 Updating address bar with new URL without hash or reloading the page

由於您在Angular之外進行此操作,因此它不會影響除URL之外的任何內容。

希望工程!

+0

謝謝!,我試過這個,不行,我用 history.pushState({},「page 2」,「test.html」); 角採取無限循環,也許試圖重定向http://snag.gy/dkJ8e.jpg –

+0

我在一個循環中實現了代碼,我的錯誤,我會嘗試以更好的方式實現它,希望它的工作原理,謝謝 –

+0

我不能使它與pushState一起工作,是非常不穩定的 –

0

您可以使用查詢參數使用$location.search$watch -ers高亮顯示正確的圖像。

+0

謝謝,但是這隻在url的末尾添加了一個查詢字符串,並且第一個url不是第二個父節點,我認爲在這種情況下不起作用 –

1

之後幾天,我得到了它,這個代碼必須在控制器

var lastRoute = $route.current; 
    $scope.$on('$locationChangeSuccess', function(event) { 
     if($route.current.$$route.controller == 'modal'){ 
      $route.current = lastRoute; 
     } 
    }); 

這將保持當前ngview HTML,但更改URL

,我發現這裏的解決方案https://stackoverflow.com/a/12429133/1179213