负载上的angularjs值不正确

时间:2013-04-12 17:21:38

标签: angularjs angular-ui angular-ui-bootstrap

请参阅此plunk

我想在input上使用对象模型(用于与angularui bootstrap typeahead的交互)。从typeahead中选择某些内容时它非常有效,但在加载时显示[object Object]如何在输入时获取输入以显示模型对象的属性?

4 个答案:

答案 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)
    }
  })
});

Plunker

使用指令的属性可能更好,但不确定是什么

答案 2 :(得分:0)

原来,ui-bootstrap目前存在一个在master中修复的错误,很快就会出来。我也误解了ui-bootstrap构建文件,并在我的应用程序中包含模板化和非模板化版本。

我猴子修补了我的ui-bootstrap并切换到模板化,它现在正在为我工​​作。

请参阅Google群组discussion

答案 3 :(得分:-1)

Angularjs Form在表单字段中加载显示[object Object]

仅当您的表单名称和ng-model名称(值)相同时才会出现