javascript - 是否可以在 AngularJS 的过滤器中编写一个函数?

标签 javascript angularjs

在自定义过滤器中,我有很多 "if 条件,如果可以选择,我想避免重复我的代码。

我试图创建一个函数,但它似乎不想工作。是否可以在过滤器中创建一个函数?如果没有,我如何从过滤器调用函数(如果可能)?

我试着这样声明:

  • $scope.mySearch = function(mySearch, searchArr, filled) 但是,由于 $scope 而收到错误消息。
  • function(mySearch, searchArr, filled),但我该如何调用它呢?
  • mySearch : function(mySearch, searchArr, filled),收到有关标签 mySearch 的警告消息。
// I TRIED TO INJECT $SCOPE, BUT THE WAY I DID IT WASN'T PROBABLY GOOD : 

.filter('searchFilter', function($filter, $scope)

    .filter('searchFilter', function($filter)
    {
        return function(items, mySearch, searchArr)
        {

            if((mySearch === "") && (searchArr.name !== ''))
            {         
                var firstSearch = $filter('filter')(items, searchArr.name);
                var city = $scope.myTestFunc(mySearch.result, searchArr, firstSearch);
                return city;
            }


    // THE FUNCTION I WOULD LIKE TO CALL ABOVE

           $scope.myTestFunc = function(mySearch, searchArr, firstSearch)
           {
               // Do the job
           }

       };
});
 <ion-item ng-repeat="result in results | searchFilter : mySearch.result : searchArr" class="item-avatar">

最佳答案

var my_search = function(mySearch, searchArr, filled){};
//or
function my_search(mySearch, searchArr, filled){}

我更喜欢第一个...将匿名函数存储到变量中。

关于javascript - 是否可以在 AngularJS 的过滤器中编写一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113718/

相关文章:

javascript - jQuery Animate 和定位元素

javascript - 带有居中 div 的动画

javascript - 修复 IE8 中的 AngularJS 问题

angularjs - 在 angular 2 组件中使用 jquery/jqueryui 等库的正确方法

javascript - 是否可以在 Chart.Js 中调用指令?

angularjs - 仅允许一种身份验证机制;仅X-Amz-Algorithm查询参数。

javascript - jQuery:计算数百个元素的点击次数

javascript - 简单得令人沮丧 需要 Javascript 帮助

javascript - 附加所有列表项仅针对最后一项

routing - AngularJS - 如何只更改一个 routeParam 并重定向?