簡體   English   中英

(angularJS)使ng單擊以打開ng-repeat上的鏈接

[英](angularJS) make ng-click open a link on an ng-repeat

Angular的新手,很抱歉,如果已經在某個地方進行了介紹,但是我很難用簡潔的方式確切地解釋我想要什么。

目前,我有一個ng-repeat從JSON對象提取數據並創建列表。

<li ng-click="openLink()" ng-repeat="location in locations">
  {{location.name}}
</li>

每個對象都有一個稱為“鏈接”的鍵,並且該鍵具有作為url的屬性。 我希望函數openLink()打開與每個對象關聯的鏈接。 我不確定如何在控制器中執行此操作。

我知道我能做

<li ng-click="openLink()" ng-repeat="location in locations">
  <a ng-href="{{location.link}}">{{location.name}}</a>
</li>

但我希望能夠使用ng-click來做到這一點,以保持index.html更加整潔。 那么我該怎么做才能完成同樣的事情呢?

$scope.openLink = function() {

};

如果要重定向到的URL是角度應用程序中的路由,則需要將$ location服務注入到控制器中,然后在函數中將$ location設置為path屬性。

<li ng-click="openLink(location)" ng-repeat="location in locations">
  {{location.name}}
</li>


$scope.openLink = function(location){
    $location.path(location.link);
}

如果位置鏈接是完整的URL,則應將$ window服務注入到控制器中,並更改openLink函數以設置$ window.location.href。

$scope.openLink = function(location){
    $window.location.href = location.link;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM