如何在ng上调用函数并单击<a>链接,并在新标签页中打开

时间:2019-11-14 11:12:50

标签: javascript html angularjs

我有一个类似这样的元素

<a ng-click="vm.openPage(page)">{{page.pageId}}</a>

vm.openPage()函数中需要进行一些验证,然后才能使用此代码重定向到页面

$state.go('page', {
   id: page.pageId
});

问题是我需要能够通过右键单击在新选项卡中打开该链接,但仍要运行该功能和验证。

ng-href={{vm.openPage(page)}}

但这会在页面加载时运行该函数,而我不能拥有它,因为链接是表中具有20行的列。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

使用以下内容:

在您的html中:

 <a ng-href="{{(test() && url && !loading)||'#'}}">click here</a>

在您的JS中:

var url = "http://www.google.com";
$scope.test = function () {

     if(  $scope.pass =="pass") { // your condition
        return true;
     }
     else {
       return false;
     }

   };

确保在加载页面时,如果条件为true,则条件为false,在加载函数中设置添加加载状态标志,并在链接中使用它

以下jsFiddle link

中的

示例示例