2016-10-27 45 views
1

如何將ng-click函數結果傳遞給href標記?例如,如果我有如何使href與函數結果進行ng-click?

<a href = "{{value}}" target = "_blank" ng-click="myFunction()">Click Here</a> 

其中myFunction()從我的服務器每次返回一個唯一的鏈接我點擊它,我希望它被傳遞到href標籤爲value,然後打開一個新標籤此鏈接,沒有任何彈出窗口。

我不知道如何使hrefng-click中的功能同時在同一個標​​記中使用。我試過$window.open(),它會生成彈出窗口,所以我正在尋找替代解決方案。

我注意到,使用hreftarget="_blank"打開一個新標籤的鏈接,而不會導致的彈出窗口,但我需要href使用ng-click內的myFunction()返回值的方式。

+0

你嘗試'window.location.href = ;'? –

+0

是的,但沒有打開新標籤中的鏈接 –

回答

1

你可以做到這一點,它會打開一個新標籤

controller('exampleCtrl', ['$scope', '$window', 
    function($scope, $window) { 
     $scope.myFunction = function(link){ 
      $window.open(link, '_blank'); 
     }; 
    } 
]); 

您可以直接綁定這樣

<a ng-href="{{myFunction()}}" target="_blank" >Click Here</a> 
+0

是的,我使用了這個,但它會導致彈出窗口。我想使用href和target =「_ blank」來避免彈出窗口,但我需要一種方法讓href在單擊時使用myFunction()的返回值 –

0

使用

<a ng-href="{{myFunction()}}" target="_blank">Click Here</a> 

它會調用該網址方法,並在一個新窗口中打開URL

+0

myFunction()的值如何傳入thisurl? –

+0

對不起,更新了答案。使用ng-href指令將myFunction返回的值設置爲href –

0

使用ng-click呼叫您的功能,使用$window打開新選項卡中的鏈接。退房working fiddle

控制器:

// 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> 
0

試試這個它會工作:

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/

相關問題