条件集 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>