2015-07-19 206 views
0

我試圖改變位置到編輯頁面,當用戶創建一個新文檔,

所以我需要改變從,#/pages/fp_add#/pages/fp_add?id=

但兩者以下是不能正常工作,

$location.path ('/pages/fp_add?id=' + id); 
$location.path ('#/pages/fp_add?id=' + id); 

我猜想棱角把它作爲相同的頁面,有或沒有參數?

任何想法?它不會觸發重裝

附航線配置,

app.config(function($routeProvider, $locationProvider) { 
    $routeProvider.when('/pages/:name', { 
    templateUrl: function(urlattr) { 
     return 'templates/' + urlattr.name + '.html'; 
    }, 
    controller: function($scope, $routeParams, $controller) { 
     $controller($routeParams.name, { 
     $scope: $scope, 
     $routeParams: $routeParams 
     }); 
    } 
    }).otherwise({ 
    redirectTo: '/pages/dashboard' 
    }); 
}); 
+0

從我所知,它不會觸發重新加載,因爲兩個網址具有相同的網址,這意味着位置路徑是相同的(忽略查詢參數)。僅添加FYI。 – limekin

回答

1

你爲什麼不嘗試$ location.search功能

$location.path('/pages/fp_add/').search({id: id}); 

UPDATE: 我認爲你應該使用的東西像這樣

.when('/pages/:name/:id', { 

so you你可以接受ID作爲參數

+0

不起作用.. – daisy

+0

你能分享你的代碼嗎?在一個JS小提琴什麼的? 至少你的路由配置 –

+0

完成,看到新的編輯 – daisy

0

您可以使用$route.updateParams({ id: id})使用新參數重新加載當前路徑,即使url段相同。不過,您需要將$ route服務作爲您的依賴項。

+0

無效...注入$ route – daisy

+0

如果當前路由參數和要更新的路由參數相同,則不會改變。 – limekin

0

貌似正確的方法是簡單地執行

location.href = '#/頁/ fp_add?ID =' + ID

如果有一個角度的方式,讓我知道