2017-10-20 82 views
1

我在Google上搜索,但找不到答案。 我想在使用$ http(動態鏈接)點擊url後顯示網址。在點擊href後,在角度上顯示網址

例如:

<ul> 
    <li ng-repeat="file in files | filter:search as results" ><a ng-href="{{getSrc(file._name)}}" target="_blank">{{file._name}}</a></li> 
    <div> 
      **SHOW URL OF CLICKED LINK HERE** 
    </div> 
    </ul> 

    $scope.read = function(){ 
    var request = $http({ 
     method : 'GET', 
     url : 'request.php', 
    }); 
    request.then(function(response){ 
     $scope.files = response.data; 
    }, function(error){ 
     alert(error.data); 
    }); 
} 

$scope.getSrc = function(src) { 
    return 'files/' + src; 
}; 

嘗試一切,但我不能使它發揮作用。任何幫助,將不勝感激!!!

回答

2

我想你可以在你的作用域上定義的函數的鏈接上點擊ng並點擊鏈接地址。然後將其設置爲一個範圍變量,並在你的div中顯示該範圍變量。起初它不會顯示,因爲你將它初始化爲null,但是一旦你點擊了鏈接,它就會調用通過鏈接名稱的ng-click函數,並且你設置了變量,現在它會顯示出來。

<ul> 
    <li ng-repeat="file in files | filter:search as results" ><a ng-href="{{getSrc(file._name)}}" target="_blank" ng-click="linkClicked(file._name)">{{file._name}}</a></li> 
    <div> 
      {{clickedLink}} 

    </div> 
    </ul> 

$scope.clickedLink = null; 

$scope.linkClicked = function(link){ 
    $scope.clickedLink = link; 
} 
+1

只是撥弄添加[的jsfiddle(https://jsfiddle.net/nL7vzbw2/)你有$ scope.linkClicked(link){0}這行應該是'$ scope.linkClicked = function(link){ ',我想! –

+0

工作!我注意到並修改了你的帖子中的代碼。謝謝!!! – HomerO

+0

@NarenMurali是的,謝謝。我不好,因爲我已經改變了使用控制器的類,所以混合了風格:)。感謝編輯。 – user441521

1

嘗試修改:

$scope.result; 
$scope.getSrc = function(src) { 
    $scope.result = 'files/' + src; 
    return $scope.result; 
}; 

,然後在html:

<div> 
    {{result}} 
</div> 
+0

他希望它僅在被點擊後才顯示。儘管如此,我們也有同樣的想法。 – user441521

+0

當然,試過了,因爲{{result}}返回數組的最後一個元素。我只想顯示被點擊的元素,並在點擊另一個元素時進行更改。 – HomerO