我有一个类似这样的元素
<a ng-click="vm.openPage(page)">{{page.pageId}}</a>
vm.openPage()
函数中需要进行一些验证,然后才能使用此代码重定向到页面
$state.go('page', {
id: page.pageId
});
问题是我需要能够通过右键单击在新选项卡中打开该链接,但仍要运行该功能和验证。
ng-href={{vm.openPage(page)}}
但这会在页面加载时运行该函数,而我不能拥有它,因为链接是表中具有20行的列。
有没有办法做到这一点?
答案 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 中的示例示例