请参阅此plunk
我想在input
上使用对象模型(用于与angularui bootstrap typeahead的交互)。从typeahead中选择某些内容时它非常有效,但在加载时显示[object Object]
如何在输入时获取输入以显示模型对象的属性?
答案 0 :(得分:10)
以防其他人像我一样落在这里,在某些输入中显示[object Object]
......
就我而言,我将form
元素命名为model属性的相同名称,如下所示:
<form name="contact">
<input type="text" ng-model="contact.name" />
<input type="text" ng-model="contact.email" />
</form>
将表单name
更改为其他名称,或更改模型名称。
当Angular使用与$scope
同名的属性填充form
时,它会覆盖模型实例!
答案 1 :(得分:0)
我也遇到了这个问题,而且文档没有显示如何挂钩bootstrap updater
回调。
我是通过将初始值设置为string来完成的。当您键入字段时,模型将是一个字符串。当您从下拉列表中选择时,它将是对象
app.controller('MainCtrl', function($scope) {
$scope.data = [{id:1,name:"google"}, {id:2, name:"microsoft"}];
$scope.selected = '';
$scope.$watch('selected',function(newVal,oldVal){
if(newVal && angular.isObject($scope.selected)){
console.log($scope.selected)
}
})
});
使用指令的属性可能更好,但不确定是什么
答案 2 :(得分:0)
原来,ui-bootstrap目前存在一个在master中修复的错误,很快就会出来。我也误解了ui-bootstrap构建文件,并在我的应用程序中包含模板化和非模板化版本。
我猴子修补了我的ui-bootstrap并切换到模板化,它现在正在为我工作。
请参阅Google群组discussion
答案 3 :(得分:-1)
Angularjs Form在表单字段中加载显示[object Object]
仅当您的表单名称和ng-model名称(值)相同时才会出现