如何在angular2的路由中定义可选参数。我的路由配置如下:
<a [routerLink]="['../abc',{xyz: blabla}]">
and
<a [routerLink]="['../abc']">
{ path: '/abc/:xyz', component: abc, name: 'abc' }, // Here i want xyz as optional perameter
所以问题是,每当我使用第一种方法时,参数<code>blablabla</code>都可以正常工作,因为在路由时,我定义了参数<code>xyz</code>但是在第二种方法的情况下,我不想发送参数,所以URL变为
这是第一次很好,但刷新页面后,没有显示整个窗口是空白的,没有内容。那么有没有办法在angular2中路由时提供可选参数。
i have also tried without defining parameters like this
{ path: '/abc', component: abc, name: 'abc' }
但如果xyz的值为1
,则这将引发错误。它将1
转换为true
@RouteConfig([
{ path: '/abc/:xyz', component: Abc, name: 'abc' }
{ path: '/abc', component: Abc, name: 'abc' },
])
如果这没有按预期工作,您应该在下面看到,
可选路线参数 #3525
https://github.com/angular/angular/issues/3525
您可以定义多条路线,其中包含或不包含具有相同组件的参数:
@RouteConfig([{
path: '/abc',
component: Abc,
name: 'abc'},
{
path: '/abc/:xyz',
component: Abc,
name: 'abcXyz'
}])
然后使用您需要的那个
<a [routerLink]="['/abcXyz',{xyz: blabla}]">
and
<a [routerLink]="['/abc']">
<a [routerLink]="['/parentRoot', {parentParams:value}, '/abc']">
所以我有一些路线,比如<code>/category/tech</code>和<code</categority/tech/new<code>和<code>/category/tech/old</code>等等 他们都使用 或者我必须分别定义它们,就像
我正在尝试添加基本身份验证到我的angular2应用程序。 为什么Angular2的http首先发送选项? 多谢了。
问题内容: Angular 2路线中是否可以有一个可选的路线参数?我在RouteConfig中尝试了Angular 1.x语法,但收到以下错误: ““原始例外:路径“ / user /:id?”包含路由配置中不允许的“?”。” 问题答案: 您可以使用和不使用参数来定义多个路由: 并处理组件中的可选参数:
问题内容: 最近,我与队友讨论了 在方法中使用可选参数的问题。 假设方法是 接受一个和 可选参数 ,它返回该目录中列出的书籍,如果还传递了类别,则仅返回该类别中的书籍。 冲突点是,验证是否为空检查。我认为不应对此进行空检查,因为它是可选参数。函数的调用者可以通过或,并且函数应在实现中处理两种情况。 我的意见是,对于可选参数,只会使方法的约定更加明确。只需查看方法签名即可知道此参数是可选的,不需要读
最近,我和我的队友讨论了在方法中使用作为可选参数。 假设方法是 我的观点是,对于可选参数,只会使方法的契约更加清晰。只要看一下方法签名就可以知道这个参数是可选的,不需要读取JavaDocs。但当他不想使用该可选参数时,不应强制他传递。 我的队友有不同的看法。他希望对其进行空检查,从而强制调用方始终传递。他的观点是为什么我们要通过一个空的可选选项。此外,看起来比更易读。 这个方法在我们的一个库包中,
用户在这个插件的很多方面都可以进行定制,用户通过插件选项来达到这个目的(这些选项会在插件初始化的时候起效)。这些选项包括: 选项 描述 aspectRatio 长宽比,以后在选择时候就会维持不变。例如:"4:3" autoHide 如果设为true,那么在选择完后区域会消失。Default:false classPrefix 预先给插件元素的前缀 Default:imgareaselect dis