你可以使用AngularJS的过滤器和ng-click指令来实现在ng-repeat动态数据上进行过滤后展开折叠的div。以下是一个示例代码:
HTML代码:
{{item.title}}
{{item.description}}
JavaScript代码:
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.items = [
{id: 1, title: '标题1', description: '描述1', expanded: false},
{id: 2, title: '标题2', description: '描述2', expanded: false},
{id: 3, title: '标题3', description: '描述3', expanded: false}
];
$scope.toggle = function(item) {
item.expanded = !item.expanded;
};
});
在这个示例中,ng-repeat指令用于循环遍历items数组,并使用filter过滤器根据searchText来过滤数据。ng-click指令绑定到每个div的点击事件上,当点击div时,调用toggle函数来切换item的expanded属性的值。
通过设置ng-show指令的条件,根据item的expanded属性来决定展示或隐藏折叠div中的内容。
这样,当你在输入框中输入过滤条件时,ng-repeat将会根据条件过滤数据,并且你可以点击每个div来展开或折叠相应的内容。