我目前正在开发一个用于管理用户身份的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'一样工作 –