Angularjs - 使用Typeahead必须显示2个值

3
我正在使用typeahead,我希望它可以获取动态数据,这样会更有用。
 <input required type="text" ng-model="student" 
  placeholder="{{'STUDENT_ID_FIRST_NAME_LAST_NAME' | translate}}" 
  typeahead="student as student.lastName for student in getStudents($viewValue)"
  typeahead-loading="loading" class="form-control">

我用于获取学生的JavaScript代码如下:

$scope.getStudents = function(val) {
    var queryCriteria = {
        q: JSON.stringify([{
            field: 'lastName',
            op: APP_CONSTANTS.SEARCH_OPERATORS.CONTAINS,
            value: val
        }, {
            field: 'firstName',
            op: APP_CONSTANTS.SEARCH_OPERATORS.CONTAINS,
            value: val
        }, {
            field: 'userId',
            op: APP_CONSTANTS.SEARCH_OPERATORS.CONTAINS,
            value: val
        }]),
        joinCondition: APP_CONSTANTS.JOIN_CONDITIONS.OR,
        order: APP_CONSTANTS.SORTING_ORDER.DESCENDING,
        limit: 10,
        orderBy: 'createdAt',
        page: 1
    }
    return Students.query(queryCriteria).then(function(response) {
        return response.data;
    });
};

我想展示student.lastNamestudent.firstName的连接。请建议如何操作。
1个回答

2
您可以简单地使用字符串连接 student.lastName + ' ' + student.firstName
<input required type="text" ng-model="student" 
placeholder="{{'STUDENT_ID_FIRST_NAME_LAST_NAME' | translate}}" 
typeahead="student as student.lastName+' '+student.firstName for student in getStudents($viewValue)" 
typeahead-loading="loading" class="form-control">

它正在正常工作,pankajparkar。谢谢。我没想到HTML会像JavaScript一样被接受。这就是typeahead/angularjs的美妙之处。 - user4874420
1
@Veerabhadra 这是 AngularJS 的魔力...它可以非常优雅地在 UI 上评估表达式 :) - Pankaj Parkar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接