条件集 angular/nativescript nsRouterLink
conditional set angular/nativescript nsRouterLink
是否可以仅在特定条件为真时设置nsRouterLink
?
假设我有一个列表视图,每个项目都有自己的 nsRouterLink
到详细信息页面。但是列表中的某些项目没有详细信息所需的 ID,因此它们应该是不可点击的,而其他项目应该是可点击的。
我知道我可以只使用 onClick
绑定并自行处理,但是 nsRouterLink
也可以自动处理吗?
例如:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="['/path/' + item.id]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>
我没怎么用过nsRouterLink。
但是当您将 link 保留为 null 或 undefined 时会发生什么?
如果你真的处理link点击事件,那么有条件地监听事件应该在代码端完成,即组件。
另一种选择是显示 2 个不同的组件。
如果有详细信息,请显示 nsRouterLink
没有详细信息,显示标签。
类似的东西也可以。
使用 isEnabled 属性,如果不允许用户转到下一页,将禁用该按钮
<Button [isEnabled]="<value to check>" text="<Text>" [nsRouterLink]="['/<link>']"></Button>
这个解决方案我看了好几次:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="[item?.id ? '/path/' + item.id : false]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>
是否可以仅在特定条件为真时设置nsRouterLink
?
假设我有一个列表视图,每个项目都有自己的 nsRouterLink
到详细信息页面。但是列表中的某些项目没有详细信息所需的 ID,因此它们应该是不可点击的,而其他项目应该是可点击的。
我知道我可以只使用 onClick
绑定并自行处理,但是 nsRouterLink
也可以自动处理吗?
例如:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="['/path/' + item.id]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>
我没怎么用过nsRouterLink。 但是当您将 link 保留为 null 或 undefined 时会发生什么?
如果你真的处理link点击事件,那么有条件地监听事件应该在代码端完成,即组件。
另一种选择是显示 2 个不同的组件。 如果有详细信息,请显示 nsRouterLink 没有详细信息,显示标签。
类似的东西也可以。
使用 isEnabled 属性,如果不允许用户转到下一页,将禁用该按钮
<Button [isEnabled]="<value to check>" text="<Text>" [nsRouterLink]="['/<link>']"></Button>
这个解决方案我看了好几次:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="[item?.id ? '/path/' + item.id : false]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>