如何使href工作与函数结果在ng-click
How to make href work with the function result in ng-click?
如何将ng-click
函数结果传递到href
标签中?例如,如果我有
<a href = "{{value}}" target = "_blank" ng-click="myFunction()">Click Here</a>
其中myFunction()
返回一个唯一的链接从我的服务器每次我点击它,我希望它被传递到href
标签作为value
,然后在没有任何弹出窗口的新选项卡中打开此链接。
我不确定如何使href
与ng-click
中的功能同时在同一标签中工作。我已经尝试了$window.open()
生成弹出窗口,所以我正在寻找一个替代的解决方案。
我注意到使用href
和target="_blank"
在新选项卡中打开链接而不会引起弹出窗口,但我需要href
在ng-click
中使用myFunction()
的返回值的方法。
你可以这样做,它会在一个新的选项卡中打开
controller('exampleCtrl', ['$scope', '$window',
function($scope, $window) {
$scope.myFunction = function(link){
$window.open(link, '_blank');
};
}
]);
你可以像这样直接绑定url
<a ng-href="{{myFunction()}}" target="_blank" >Click Here</a>
使用
<a ng-href="{{myFunction()}}" target="_blank">Click Here</a>
它将调用该方法并在新窗口中打开URL
试试这个就行了
Html:<div ng-controller="MyCtrl">
<a ng-click="openLink('http://www.example.com')">Open Link in a new Tab</a>
</div>
JS:
myApp.controller('MyCtrl', ['$scope', '$window',function($scope, $window) {
$scope.openLink = function(link) {
$window.open(link, '_blank');
};
}
]);
在这里,$window.open
将与href
在目标空白中工作相同。
工作小提琴:http://jsfiddle.net/rohitjindal/vn0dpst0/
使用ng-click
调用函数以使用$window
在新选项卡中打开链接。查看工作小提琴。
控制器:
// App declaration
var MyApp = angular.module("MyApp", []);
// App controller
MyApp.controller("TestController", ["$scope", "$window", function($scope, $window) {
var sampleLinks = [
"http://www.google.com",
"http://www.facebook.com",
"http://www.twitter.com",
"http://www.instagram.com",
"http://www.gmail.com"
]
$scope.myFunction = function() {
var randomIndex = Math.floor(Math.random()*sampleLinks.length);
$window.open(sampleLinks[randomIndex], '_blank');
};
}]);
模板:
<div ng-app="MyApp" ng-controller="TestController">
<a href="" ng-click="myFunction();">Click here</a> to open random link in a new tab!
</div>
相关文章:
- Angular,表达式{{}}的结果没有插入到ng-click中
- Ng隐藏在Ng-click元素之外
- 如何在ng-click中传递php对象
- AngularJs的ng-click$事件将子元素作为目标传递
- 使用jqGrid列格式化程序函数使ng-click工作
- 在Angularjs中,我如何使用ng repeat、ng model和ng click来动态更改内容
- ng-click指令没有调用整个函数
- 在控制器中添加$location依赖项时,ng-click停止激发
- 如何在ng repeat中使用ng click
- 将我的列表 vom ng-repeat 更改为收集重复 ng-click 后,无法正常工作
- 在 ng-click 中设置$scope变量指令
- 在 Angular 指令中定义一个用于 ng-click 的函数
- 为什么我们需要 ng-click
- (angularJS)使ng-click在ng-repeat上打开一个链接
- 为什么ng-click被称为按钮被点击的次数
- AngularJS:如何防止ng-click以子元素为目标
- 另一个 ng-click() 未按预期工作
- 角度:编译谷歌地图信息窗口内容以使用ng-click
- 是否可以在 ng-click 中调用函数字符串
- 如何使href工作与函数结果在ng-click