2017-01-27 30 views
-1

我需要調用不同的產品ID相同的API,所以我可以比較兩個產品的細節,我可以如何發送兩個不同的ID到相同的API。如何實現兩個產品在ng-click角度比較?

這是我與

<div class="hmpal-prprt-post-wdgt hmpal-prprt-compare" 
ng-click="compareProjects(project.property_id)" 
ng-repeat="project in properties"><a href=""> 
<span class="prprt-icon"> 
    <i class="fa fa-balance-scale" aria-hidden="true"></i> 
</span> 
<span>Compare</span></a> 

+3

你是什麼*我怎麼能發送兩個不同的ID以同樣的API是什麼意思?* –

+0

能否請您詳細闡述您的問題,如果可能的話你可以創建一個演示? –

+0

向我們顯示您的角碼。如果你沒有說明你在解決問題方面做了什麼,這無法真正幫助你。另外,你可以在同一個API地址發送兩個不同的API請求和兩個不同的ID。有關更多信息,請閱讀特定API的文檔。 –

回答

2

我想我明白你的要求點擊功能。你想比較用戶選擇的2個項目,假設你有項目A,B,C,D,並且用戶可以選擇比較B和D.

這實際上更多的是UI/UX問題,而不是編程問題。

這是設計的一個我能想到的

angular.module('test', []).controller('Test', TestController); 
 

 
function TestController($scope) { 
 
    $scope.items = ["A", "B", "C", "D"]; 
 
    $scope.selected1 = ""; 
 
    $scope.selected2 = ""; 
 
    $scope.compare = ""; 
 
    
 
    $scope.select = function(item) { 
 
    // first select 
 
    if (!$scope.selected1) { 
 
     $scope.selected1 = item; 
 
     return; 
 
    } 
 
    
 
    // second select 
 
    if (!$scope.selected2) { 
 
     if ($scope.selected1 == item) { 
 
     $scope.selected1 = ""; 
 
     return; 
 
     } 
 
     else { 
 
     $scope.selected2 = item; 
 
     compare(); 
 
     return; 
 
     } 
 
    } 
 
    
 
    // back to first select again 
 
    $scope.selected1 = item; 
 
    $scope.selected2 = ""; 
 
    } 
 
    
 
    function compare() { 
 
    $scope.compare = "comparing '" + $scope.selected1 + "' and '" + $scope.selected2 + "'"; 
 
    } 
 
}
.selected { 
 
    background-color: yellow; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 

 
<div ng-app='test' ng-controller='Test'> 
 
    <div ng-repeat="item in items" 
 
     ng-class="{'selected': item == selected1 || item == selected2}" 
 
     ng-click="select(item)"> 
 
    {{item}} 
 
    </div> 
 
    <br> 
 
    <div>{{compare}}</div> 
 
</div>