Javascript 单击打开手风琴或搜索查询>;0(不确定如何执行或部分)
我试图让手风琴打开,如果用户在搜索栏中输入了什么,或者如果有人点击打开手风琴,我让他们分开工作,但我不能让两者同时工作 如果我这样做Javascript 单击打开手风琴或搜索查询>;0(不确定如何执行或部分),javascript,angularjs,Javascript,Angularjs,我试图让手风琴打开,如果用户在搜索栏中输入了什么,或者如果有人点击打开手风琴,我让他们分开工作,但我不能让两者同时工作 如果我这样做 <accordion-group is-open="status.open" ng-repeat="cat in cats | filter: query"> <accordion-group is-open="query.length > 0" ng-repeat="cat in cats | filter: query"> 你
<accordion-group is-open="status.open" ng-repeat="cat in cats | filter: query">
<accordion-group is-open="query.length > 0" ng-repeat="cat in cats | filter: query">
你的JSFIDLE手风琴似乎不适合我
我认为您的关键是将打开绑定到控制器范围中的变量。手风琴组创建自己的范围。因此,请先尝试以下方法:
<accordion-group heading="CATS" is-open="$parent.openMe">
您需要在控制器内部安装此功能
$scope.$watch("query",function(newv){
if(newv != undefined){
if(newv.length > 0){
$scope.open = true;
$scope.$apply;
}else{
$scope.open = false;
$scope.$apply;
}
}
});
手风琴呢
<accordion-group is-open="open" ng-repeat="cat in cats | filter: query">
<accordion-heading style="padding:0px;"> <i class="glyphicon" ng-class="{'glyphicon-minus': open, 'glyphicon-plus': !open}"></i> {{cat.title}}</accordion-heading>
您是否尝试在控制器中检查query.length>0,如果是,请将status.open设置为true?所以这样你只需要使用status.open这个代码可能会有所改进。。。但这是一个很好的起点:)
<accordion-group is-open="open" ng-repeat="cat in cats | filter: query">
<accordion-heading style="padding:0px;"> <i class="glyphicon" ng-class="{'glyphicon-minus': open, 'glyphicon-plus': !open}"></i> {{cat.title}}</accordion-heading>