如果单击或搜索查询打开手风琴>0(不确定如何做OR部分)

Open accordion if clicked OR search query > 0 (not sure how to do the OR part)

本文关键字:不确定 何做 部分 OR 搜索 单击 查询 手风琴 如果      更新时间:2023-09-26

我试图让手风琴打开,如果用户在搜索栏中输入了一些东西,或者如果有人点击打开手风琴,我让他们分开工作,但我不能让两者同时工作。

如果我这样做

<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="query.length > 0 || status.open" ng-repeat="cat in cats | filter: query">
下面是我在jsfiddle http://jsfiddle.net/goL848jn/3/中的代码

你需要在控制器中使用

$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>&nbsp;&nbsp;{{cat.title}}</accordion-heading>    

工作小提琴http://jsfiddle.net/0ynqomrt/

你的jsfiddle手风琴似乎不适合我…

我认为您的关键是将is-open绑定到控制器作用域中的变量。手风琴组创建它自己的作用域。所以先试试这样:

<accordion-group heading="CATS" is-open="$parent.openMe">

在这个柱塞中查看更多我的意思。我不确定这是不是你想要的,但希望它能让你走上正确的道路?

http://plnkr.co/edit/uwxza87gEsCxopecAlCd?p =预览