Blazor中是否存在“内部链接点击”处理逻辑,当它识别出对内部链接的点击时会调用preventDefault?

时间:2019-04-27 11:50:28

标签: blazor

假设我的组件中包含此元素:

<a href="#" class="btn btn-primary" onclick="@IncrementCount">Click me</a>

单击链接时,它没有跳转到计数器上,而是跳转到“#” URL,导航到主页(Blazor的默认行为)。但是,我的预期行为是计数器将增加。

注意:我不问如何防止默认动作;我想知道是否确实存在“内部链接点击”处理逻辑,如史蒂夫·桑德森在这里说的:https://github.com/aspnet/Blazor/pull/937 如果可以,请提供其位置。

据我所知,在Blazor中,唯一可以阻止的默认操作是提交表单(传统帖子),但是我可能被证明是错误的...

1 个答案:

答案 0 :(得分:2)

Blazor确实会在锚标记onclick事件上调用阻止默认设置,但前提是该位置位于基本标记URI空间之内。

可以查看特定代码段here

在您提供的代码示例中,建议您使用一个按钮,这样就不必担心导航事件了。 Anchor元素仅应用于导航,而不能专门用于执行一般操作,因为它避免了您发现的事件问题。

希望这会有所帮助。