是否可以仅在特定条件为真时设置nsRouterLink?
让我们假设,我有一个列表视图,每个项目都有自己的nsRouterLink到详细信息页面。但是列表中的某些项目没有详细信息所需的ID,因此它们应该是不可点击的,而其他项目应该是。
我知道我可以使用onClick绑定并自己处理它,但是自动也可以使用nsRouterLink吗?
例如:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="['/path/' + item.id]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>
答案 0 :(得分:1)
我多次看到这个解决方案是什么:
<StackLayout *ngFor="let item of items">
<StackLayout [nsRouterLink]="[item?.id ? '/path/' + item.id : false]">
<!-- Content goes here -->
</StackLayout>
</StackLayout>
答案 1 :(得分:0)
我没有太多使用过nsRouterLink。 但是当您将链接保留为null或未定义时会发生什么?
如果您确实处理了click事件的链接,那么应该在代码端有条件地监听事件,这意味着组件。
另一个选择是显示2个不同的组件。 如果有详细信息,请显示nsRouterLink 没有细节,显示标签。
这样的东西也可以起作用。
答案 2 :(得分:0)
使用isEnabled属性,如果不允许用户转到下一页,将禁用该按钮
<Button [isEnabled]="<value to check>" text="<Text>" [nsRouterLink]="['/<link>']"></Button>