如何使用敲除数据绑定在新选项卡中打开按钮链接

Posted

技术标签:

【中文标题】如何使用敲除数据绑定在新选项卡中打开按钮链接【英文标题】:How to open button link in new tab using knockout data-bind 【发布时间】:2019-11-19 04:41:38 【问题描述】:

我正在尝试使用按钮打开指向新标签的链接。问题是我正在使用数据绑定 attr: href 并且使用 target="_blank" 不起作用,因为目标函数要求 href 不在数据绑定中。

我已经让它在不使用数据绑定时工作,但数据绑定是在两个页面之间发送信息所必需的。

<a data-bind="attr: href: '@Url.Action("Data", "Report")/?serialNumber='+SN()" class="btn btn-warning createNew"> View Report </a>

此代码是工作代码,但在同一选项卡中打开。

当我在数据绑定之外添加 target="_blank" 时,我收到一条错误消息,指出目标函数需要使用 href。

当我在 href 之后将 target: "_blank" 添加到数据绑定中时,它不执行任何操作并且按钮不再起作用。

目前,该按钮可以正常工作并提供我需要的信息,我只是希望它打开一个新选项卡。

【问题讨论】:

将“点击”事件绑定到一个函数并将您的逻辑放在那里,更多信息请参见此答案***.com/a/31454100/9354303 【参考方案1】:

你可以这样做:

<a data-bind="attr: href: '@Url.Action("Data", "Report")/?serialNumber='+SN()" class="btn btn-warning createNew" target="_blank"> View Report </a>

您可以忽略 html 验证错误,因为验证器不知道 - 也不能 - 知道动态添加的 href 属性。这不是问题。

【讨论】:

谢谢!我还发现如果我添加一个 href="" 那么它会删除错误并且数据绑定 href 会覆盖空白的。

以上是关于如何使用敲除数据绑定在新选项卡中打开按钮链接的主要内容,如果未能解决你的问题,请参考以下文章

如何在单击反应中的按钮时在新选项卡中打开页面?我也想向该页面发送一些数据

在html中如何链接表单提交以在新选项卡中打开并链接相对URL?

上传到 Chrome 应用商店后,扩展程序不会在新选项卡中打开多个链接

如何使用html在新选项卡中打开指向pdf文件的链接

Datagrid 导航链接在新选项卡中打开

使用角度导航时,在新选项卡中打开链接未在新选项卡中打开