我目前正在開發一個用於管理用戶身份的SPA。我現在有一個問題,爲角度ui路由器中的狀態定義URL。AngularJS ui路由器:帶參數和無參數的URL
這是我想通了,至今:
.state('identity', {
url: '/identity/:serialNumber',
templateUrl: 'app/components/Identity/identity.html',
controller: 'identityController'
})
.state('addidentity', {
url: '/identity/add',
templateUrl: 'app/components/Identity/identityAdd.html',
controller: 'identityController'
});
的第一狀態( 「身份」)獲得通過URL放慢參數 「SERIALNUMBER」。這工作正常,我可以訪問「identityController」內的參數。
我想用第二個狀態(「addidentity」)實現的是,對於訪問「/ identity/add」的特殊情況,我想重定向到不同的模板(也許使用不同的控制器未來)。
但是,這不起作用。只有第一個狀態。第二個被忽略。據我所知,問題是,即使我訪問「/身份/添加」,這個URL在技術上仍然符合第一個狀態。在這種情況下,狀態參數「serialNumber」將簡單地設置爲「add」。
我想我有一個問題,理解ui路由器的工作原理。 有沒有在ui路由器中處理這兩個URL的方法不同?
也許在我想到這個方面有一些根本性的錯誤。任何幫助,將不勝感激:)
問候,
蒂莫
你能提供更多文件嗎?特別是html文件和控制器 – uksz
除了console.log($ stateParams.serialNumber);'外,控制器中沒有任何東西。我還沒有開始實施更多的功能。 – Timo
通過改變映射它會像'/ identity/find /:serialNumber'一樣工作 –