使用ng-click在Angular js中显示div

时间:2017-08-10 00:39:23

标签: javascript html angularjs angularjs-ng-click ng-show

所以我在html框中有一个链接,当点击链接iam试图让它显示一组全新的div替换现在的div。 我试过了:

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

在控制器中的函数中搜索调用,该函数返回A B C产品的数据,然后使用

显示
<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-click我想调用代码的那部分(ng-repeat)因为现在他们没有连接。 感谢

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:1)

您应该做的是将数组或对象A 绑定到 $ scope ,然后当您致电搜索时更新A 更改将反映在您的视图中

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

您还需要将ng-repeat更改为:

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

将ng-show添加到第一个链接:

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

编辑:

检查this fiddle是否有工作示例。

编辑:

Fiddle已更新,反映了最新的变化。