javascript - ng-model 将输入字段中的文本更改为 [Object object]

标签 javascript angularjs

所以我有一个输入字段,它采用从谷歌自动完成API中选择的地址。

<div class="form-group" ng-show="editing || creating" has-class="{'has-error': roomForm.address.$invalid && (roomForm.address.$touched || roomForm.$submitted)}">
                <input address-search selected-address="selectedAddress" class="form-control" placeholder="Where is your place located?" name="address" ng-model="room.address" required type="text">
                <div class="alert alert-danger" ng-show="roomForm.address.$error.required && (roomForm.address.$touched || roomForm.$submitted)" role="alert">The room location is required</div>
            </div>

这是将自动完成附加到输入的指令

angular.module('app')
  .directive('addressSearch', function() {
    return {
      scope: {
        addressSearch: '=',
        selectedAddress: '=selectedAddress'
      },
      link: function(scope, element, attrs) {
        var options = {
          types: ['address']
        };

        var autocomplete = new google.maps.places.Autocomplete(element[0], options);

        autocomplete.addListener('place_changed', function() {
          var address = autocomplete.getPlace();
          scope.selectedAddress(address);
        });
      }
    };
  });

问题是,当我选择一个地址,然后开始输入另一个表单元素时,输入字段中的地址将更改为 [Object object],而不是显示我最初选择的地址。我知道它正在显示这一点,因为它试图将 ng-model 显示为字符串,但我如何阻止它这样做?

最佳答案

selectedAddress 是一个对象。您需要访问该对象的属性才能获取您要查找的字符串。

在其中扔一个 console.log(selectedAddress) 来查看对象的样子,然后找到您需要的属性并在 ng-model 上使用它,例如 ng-model="room.address.foo.bar"

关于javascript - ng-model 将输入字段中的文本更改为 [Object object],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353885/

相关文章:

javascript - 热门构建 20 多个页面中使用的 SEO 友好的 JavaScript 菜单

javascript - 如何将 AJAX 请求中的数据写入 VUE JS 中的数据?

angularjs - Chrome开发者工具中不显示cookie

javascript - 从 ng-view 文件 Angular 加载图像

javascript - Angular ui-select 不显示

javascript - 使用html在不同的屏幕分辨率下显示不同的提示信息

Javascript 代码处理流程(函数中的函数)

javascript - 如何使用 Javascript 计算正确答案的数量?

javascript - 使用 Node js 将动态字段值插入 mysql DB 时,发送后无法设置 header ?

javascript - 从对象中解析名称并显示 - Angular Js