我正在使用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。:我的第一个问题,所以我可能已经打破了一些规则,对此感到抱歉!
答案 0 :(得分:2)
因此,您面临的问题有很多解决方案。如果您需要&#34;正确的答案&#34;,过滤器是通过Angular的过滤器模块完成的,因此您应该看看以下内容:https://docs.angularjs.org/api/ng/filter/filter(一种简单的方法可以做到这一点是在ng模型中组合两个参数)
如果你想要一个非常简单的答案......你可以把它传递给对象而不是对象的属性,这样就可以过滤所有东西。