Angular Typeahead 结果显示未定义

Angular Typeahead results shows undefined

我一直在学习 Angular 并尝试在模拟中实现它 up.When 我尝试实现 Angular typeahead,typeahead 的结果显示为 undefined 任何人都可以建议我我哪里错了? html,

的代码片段
 <input type="text" id="search" ng-model = "selectedEnterprise" class="form-control form-design input-md enable collapse" placeholder="search for an enterprise" uib-typeahead = "enterprise.name as vm.enterprises.name for enterprise in vm.enterprises | filter:$viewValue | limitTo : 3 ">

控制器代码片段

 $http.get(path + '/enterprise/all/' + num)
                    .then(function success(response) {
                        vm.enterprises = response.data;
                        temp = vm.enterprises;
                        console.log(vm.enterprises);
                    }, function error(response) {
                        console.log(response);
                    });

我在后端使用 MongoDB 和 NodeJS 框架。

更改您的预输入代码

来自

<input type="text" id="search" ng-model = "selectedEnterprise" class="form-control form-design input-md enable collapse" placeholder="search for an enterprise" uib-typeahead = "enterprise.name as vm.enterprises.name for enterprise in vm.enterprises | filter:$viewValue | limitTo : 3 ">

<input type="text" id="search" ng-model = "selectedEnterprise" class="form-control form-design input-md enable collapse" placeholder="search for an enterprise" uib-typeahead = "enterprise.name as enterprise.name for enterprise in vm.enterprises | filter:$viewValue | limitTo : 3 ">

在 typeahead 中,我们正在为 vm.enterprises(数据源)创建一个引用对象企业,我们从该引用对象中提取名称变量并要求它将其分配给 ng-model

uib-typeahead = "enterprise.name as enterprise.name for enterprise in vm.enterprises

而不是

uib-typeahead = "enterprise.name as vm.enterprises.name for enterprise in vm.enterprises | filter:$viewValue | limitTo : 3

表达应该像

uib-typeahead = "name as enterprise.name for enterprise in vm.enterprises | filter:$viewValue | limitTo : 3

您应该参考特定实例 enterprise.name 而不是所有实例 vm.enterprises.name