我有一个代码如下的网页:
<input type="text"
class="form-control"
ng-model="asynchSelected"
typeahead="e as e.employee.fullName for e in searchEmployees($viewValue)">
searchEmployees使用$ http.get()返回从Web API服务获取的json。返回的json看起来像这样:
[
{
"employee": {
"id": 0,
"fullName": "Scott Nelson"
}
},
{
"employee": {
"id": 0,
"fullName": "Stacy Tester"
}
},
{
"employee": {
"id": 0, "fullName": "Suzy Schmoozy"
}
}
]
我希望在输入文本框时看到一个动态创建的员工姓名下拉列表,但我什么都没得到......除了在浏览器调试器控制台上我看到了这个错误:
TypeError: Unable to get property 'length' of undefined or null reference
我认为我在typeahead中使用的表达式有问题,但我似乎找不到使用带有typeahead控件的Web服务提取的复杂json对象的好例子。
奇怪的是,如果我在名为“employees”的变量中对json进行硬编码,而不是尝试使用$ http.get()来返回它,使用如下代码:
<input type="text"
class="form-control"
ng-model="selected"
typeahead="e as e.employee.fullName for e in employees | filter:$viewValue">
它正确显示了预先输入列表...... ?? 任何帮助将不胜感激。