作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将 AngularJS 与 ngtable 结合使用。
每次创建表格时,我都会输入 ui-sref
上<tr>
像这样的元素:
<tr ng-repeat="element in $data" ui-sref="app.some.details.info({id: element.id})">
<td>{{element.name}}</td>
<td>{{element.info}}</td>
</tr>
但是,这不允许用户在新选项卡中打开条目、右键单击它以在新窗口中打开等(它的行为不像 <a>
)
有什么方法可以使整行可点击,并可以选择在新选项卡/窗口中打开(如本例所示)
最佳答案
您可以使用函数$state.href
和window.open
来完成此操作。
还可以使用变量来控制是否打开新选项卡:
// <tr ng-repeat="element in $data" ng-click="navigateTo(element.id, false)"> -- Same Tab
<tr ng-repeat="element in $data" ng-click="navigateTo(element.id, true)">
<td>{{element.name}}</td>
<td>{{element.info}}</td>
</tr>
...
//In the controller
$scope.navigateTo = function(id, inNewTab){
if(inNewTab){ // New tab
var url = $state.href('app.some.details.info', {id: id});
window.open(url , "_blank")
} else { // Same tab
$state.go('app.some.details.info', {id: id});
}
}
关于javascript - 如何使表格中的整行像ngtable(angularjs)中的超链接(在新选项卡中打开等)一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61187973/
我是一名优秀的程序员,十分优秀!