AngularJS“;“对象”;显示但不显示实际模型

AngularJS“;“对象”;显示但不显示实际模型,angularjs,Angularjs,我似乎无法在下拉列表中显示原因描述,而是显示[object object]。我希望它在被选中时只选择cause。如何做到这一点 如果无法查看代码段,请使用plunker: 我的标记: angular.module('ui.bootstrap.demo',['ngAnimate','ngSanitize','ui.bootstrap']); angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope

我似乎无法在下拉列表中显示原因描述,而是显示
[object object]
。我希望它在被选中时只选择
cause
。如何做到这一点

如果无法查看代码段,请使用plunker:

我的标记:

angular.module('ui.bootstrap.demo',['ngAnimate','ngSanitize','ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope,$http){
var url='1〕https://spreadsheets.google.com/feeds/list/1O7M5gaEGlyE5gkOBARJrxJJMBYiTwz2THVjgbaTx9v8/od6/public/values?alt=json';
var parse=函数(条目){
控制台日志(条目);
var description=entry.gsx$description.$t;
var cause=entry.gsx$cause.$t;
返回{
描述:描述,
原因:原因
};
};
$http.get(url)
.然后(功能(响应){
var条目=response.data.feed.entry;
$scope.parsedEntries=[];
for(变量输入项){
var内容=条目[键];
$scope.parsedEntries.push(解析(内容));
}
});
});

静态阵列
模型:{selected | json}
问题出在这里:

uib-typeahead="cause as cause.cause for cause in parsedEntries.."
由于这遵循了
ng options
某种语法,您应该

cause.cause for cause in parsedEntries
因为这里的
原因
是带有
描述
原因
的整个对象。如果您想阅读此语法,它将是
值作为集合的标签
,但在您的情况下,因为您没有为
标签
提供任何内容,所以它将获取整个对象,因此下拉列表中的
[object object]

以下是您的工作示例:

angular.module('ui.bootstrap.demo',['ngAnimate','ngSanitize','ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope,$http){
var url='1〕https://spreadsheets.google.com/feeds/list/1O7M5gaEGlyE5gkOBARJrxJJMBYiTwz2THVjgbaTx9v8/od6/public/values?alt=json';
var parse=函数(条目){
var description=entry.gsx$description.$t;
var cause=entry.gsx$cause.$t;
返回{
描述:描述,
原因:原因
};
};
$http.get(url)
.然后(功能(响应){
var条目=response.data.feed.entry;
$scope.parsedEntries=[];
for(变量输入项){
var内容=条目[键];
$scope.parsedEntries.push(解析(内容));
}
});
});

静态阵列
模型:{selected | json}
问题出在这里:

uib-typeahead="cause as cause.cause for cause in parsedEntries.."
由于这遵循了
ng options
某种语法,您应该

cause.cause for cause in parsedEntries
因为这里的
原因
是带有
描述
原因
的整个对象。如果您想阅读此语法,它将是
值作为集合的标签
,但在您的情况下,因为您没有为
标签
提供任何内容,所以它将获取整个对象,因此下拉列表中的
[object object]

以下是您的工作示例:

angular.module('ui.bootstrap.demo',['ngAnimate','ngSanitize','ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('TypeaheadCtrl',function($scope,$http){
var url='1〕https://spreadsheets.google.com/feeds/list/1O7M5gaEGlyE5gkOBARJrxJJMBYiTwz2THVjgbaTx9v8/od6/public/values?alt=json';
var parse=函数(条目){
var description=entry.gsx$description.$t;
var cause=entry.gsx$cause.$t;
返回{
描述:描述,
原因:原因
};
};
$http.get(url)
.然后(功能(响应){
var条目=response.data.feed.entry;
$scope.parsedEntries=[];
for(变量输入项){
var内容=条目[键];
$scope.parsedEntries.push(解析(内容));
}
});
});

静态阵列
模型:{selected | json}
试试这个:

这在你的plnkr上对我有用。

试试这个:


这在您的plnkr上对我有效。

uib typeahead的语法与
ngOptions
相同文档(用于typeahead下拉列表的自定义弹出模板)


uib typeahead的语法与
ngOptions
相同文档(用于typeahead下拉列表的自定义弹出模板)