javascript - tr 元素上的 ui-sref 不会在新选项卡中打开

标签 javascript angularjs angular-ui-router

我有重复的表格行和一个 ui-sref在他们身上设置的属性。单击时,它们会导航到正确的位置。但是,它们不能通过 ⌘ 命令 单击(或在新选项卡中打开)。

我假设这是因为他们设置了 href当元素是 anchor 标记 ( <a> ) 时,它会被接受,但在其他元素上则不会。

<tr ng-repeat="item in items" ui-sref="view-item({itemId:item.id})">

有什么快速修复的想法吗?

最佳答案

我能够通过 ng-click 函数完成我想要的。

app.run(function($rootScope, $state) {

    $rootScope.navigate = function($event, to, params) {

        // If the command key is down, open the URL in a new tab
        if ($event.metaKey) {
            var url = $state.href(to, params, {absolute: true});
            window.open(url,'_blank');

        } else {
            $state.go(to, params);
        }

    };

});

用法

<tr ng-repeat="item in items" ng-click="navigate($event, 'view-item',{itemId:item.id})">

关于javascript - tr 元素上的 ui-sref 不会在新选项卡中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28872720/

相关文章:

javascript - Nuxt auth getToken witnin async 未定义

css - 使用动画从左向右移动面板但保留其中的一部分,有 Angular ,动画

javascript - 使用_this引用父类方法

javascript - 如何使用 angularFireCollection 初始加载回调?

javascript - jqueryparent().find(input).val();单击时访问一个表格单元格中的两个输入字段

javascript - bootstrap-datepicker (范围) - AngularJS 指令

angularjs - 如何让 AngularJS 简单地打印日期而不应用时区?

javascript - 如果 ui-router 解析的一部分返回 true 或 promise ,我该如何编写代码?

javascript - 将 Node Passport.js 用于多个网站

javascript - AngularJS/UI 路由器 : How do I use one controller with multiple named views?