KnockoutJs超链接到新标签

时间:2018-01-28 14:33:01

标签: javascript html knockout.js kogrid

我有一个ASP.Net MVC网站,在视图中使用KnockoutJS和KOGrid。它动态地在一个特定列中呈现超链接,如下所示:

cellTemplate: '<a data-bind="text:$parent.entity.sendPort, attr: { href: $parent.entity.sendPortLink}" ></a>'

已确定点击后,浏览器应在新标签中显示新页面。所以,我尝试添加“target”属性如下:

cellTemplate: '<a data-bind="text:$parent.entity.sendPort, attr: { href: $parent.entity.sendPortLink, target:"_blank"}" ></a>'

这不起作用。超链接已呈现但无法单击。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

问题在于双引号。双引号用于data-bind属性和target属性。 target属性的开头双引号会关闭data-bind属性。

此外,无需将目标放在数据绑定中。数据不是动态的,因此可以简单地添加到a元素:

尝试将其更改为:

cellTemplate: '<a target="_blank" data-bind="text:$parent.entity.sendPort, attr: { href: $parent.entity.sendPortLink }" ></a>'