所以我在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)因为现在他们没有连接。 感谢
答案 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已更新,反映了最新的变化。