AngularJS UI-Bootstrap Typeahead

时间:2015-02-17 18:54:01

标签: angularjs angular-ui-typeahead

我正在使用AngularJS和AngularUI Bootstrap's Typeahead。 我想使用具有多个参数的过滤器。 这是我的输入控件:

<input id="tbUsers" class="form-control" ng-model="unit.userSel"
                                typeahead="user as user._FName + '(' +  user._LName +')' for user in allUsers | filter:{_FName : _LName:$viewValue}:myFunc | limitTo:8"                                    
                                typeahead-editable="false" required />

在我的控制器中,我有myFunc的功能:

$scope.myFunc = function (FName, LName, viewValue) {
    //logic here
    return true;
}

我无法将多个参数传递给myFunc。如果我从控制器函数和输入过滤器中删除LName参数,那么它工作正常。如果我添加2个参数,myFunc就不会被调用。

请帮忙!!
P.S。:我的第一个问题,所以我可能已经打破了一些规则,对此感到抱歉!

1 个答案:

答案 0 :(得分:2)

因此,您面临的问题有很多解决方案。如果您需要&#34;正确的答案&#34;,过滤器是通过Angular的过滤器模块完成的,因此您应该看看以下内容:https://docs.angularjs.org/api/ng/filter/filter(一种简单的方法可以做到这一点是在ng模型中组合两个参数)

如果你想要一个非常简单的答案......你可以把它传递给对象而不是对象的属性,这样就可以过滤所有东西。