2017-08-10 57 views
0

所以我有一個html框中的鏈接,當點擊鏈接iam試圖讓它顯示一組全新的div替換當前的div。 我想:使用ng-click在角度js中顯示div

<a href="" ng-click="Search('Show Products A B C')" > Show Products </a> 

搜索呼叫在返回的ABC產品的數據,這些數據則控制器的功能。使用顯示

<div ng-repeat="products in Search('Show Products A B C')" </div> 

我基本上是試圖做這樣的事情:

<div ng-repeat=" href="" ng-click="Search('Show Products A B C')"> </div> 

這是不正確的語法我明白。 但現在沒有任何反應。 基本上從那個ng點擊我想調用代碼部分(ng-repeat),因爲現在它們沒有連接。 謝謝

+0

目前還不清楚你在問什麼。請清楚地描述問題 –

回答

1

你應該做的是有一些數組或對象A勢必$範圍,那麼當你打電話搜索你更新A的變化將反映在你的看法

$scope.show=true; 
$scope.products =[A,B,C]; 
$scope.Search = function() { 
    // do list update 
    $scope.show=false; 
    $scope.products =[D,E,F] ; 
} 

您還需要NG-重複改成這樣:

<div ng-repeat="product in products" </div> 

並添加NG-秀的第一個鏈接:

<a href="#" ng-show = "show" ng-click="search();">Click Me</a> 

編輯:

檢查this fiddle了工作示例。

編輯:

Fiddle更新反映最新的變化。

+1

謝謝,也許我沒有很好地解釋我的問題。所以問題是這個,鏈接需要存在,所以,我需要能夠點擊已經在div中的鏈接,隨後,div產品出現,並且這個div將消失。 – uniXVanXcel

+1

@uniXVanXcel我編輯了迴應,並添加了一個JS提琴的鏈接,顯示了一個基於給出響應的工作示例。 – mscheker

+0

感謝你的Fiiddle實際上沒有顯示..我編輯了這個問題,以使它更容易理解 – uniXVanXcel

2

ng-repeat將響應其參數的變化,但您的參數是一個函數Search()。我建議如下: 在你的搜索功能:

$scope.Search = function(arg) { 
    // do your search logic 
    $scope.productList = <search result list> 
} 

然後在HTML

<div ng-repeat="products in productList" </div> 
+0

謝謝,也許我沒有很好地解釋我的問題。所以問題是這個,鏈接需要存在,所以,我需要能夠點擊已經在div中的鏈接,隨後,div產品出現,並且這個div將消失。 – uniXVanXcel