javascript - ng-click 错误 : [$parse:syntax] Syntax Error: Token 'Object' is unexpected, 期待 []]

标签 javascript angularjs google-maps geocoding angularjs-ng-click

当用户点击谷歌地图上的一个点时,我正在反向地理编码:

geocoder.geocode({'location': latlng}, function(results, status) {
            if (status === google.maps.GeocoderStatus.OK) {
                if (results[1]) {
                console.log(results[1]);

在这个阶段,结果 [1] 的控制台日志看起来像

Object {address_components: Array[4], formatted_address: "Rathmines, Co. Dublin, Ireland", geometry: Object, place_id: "ChIJN6MDC6kOZ0gRIhArCabX9o4", types: Array[2]}

但是当用户使用我弹出的地址点击信息窗口时,我尝试将该对象传递给 ng-click 函数,如下所示:

ng-click='addressPicked("+results[1]+")'

我得到了错误

Error: [$parse:syntax] Syntax Error: Token 'Object' is unexpected, expecting []] 
at column 23 of the expression [addressPicked([object Object])] starting at [Object])].

我在另一个应用程序中使用它,但我只是传递一个纬度和经度字符串。

在尝试将对象作为参数传递之前,是否需要将对象转换为其他对象?

有人在使用 ng-click 之前遇到过这个错误吗?

任何帮助将不胜感激,谢谢。

最佳答案

在不查看完整代码的情况下,我猜测您收到错误是因为

ng-click='addressPicked("+results[1]+")'

正在将 results[1] 转换为它的字符串表示形式 [object Object],因此出现错误。

尝试不使用内引号

ng-click='addressPicked(results[1])'

关于javascript - ng-click 错误 : [$parse:syntax] Syntax Error: Token 'Object' is unexpected, 期待 []],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36437034/

相关文章:

android - 自定义 map 图 block 模糊

javascript - 授予 Chrome 扩展程序访问 iframe 内容的权限

javascript - Vue propsData 不动态更新

javascript - 无法通过字符串形式的名称访问对象

jquery - 在内容可编辑的 div 中的新行上触发事件

html - 使用 AngularJS 过滤器过滤一些 JSON 值

javascript - AngularJS : Passing a function to an isolated scope of a directive to be called within its controller?

ios - 如何在 Objective-C(iOS) 的 `Google Maps` View 中添加标记

swift - 在 Google map 上显示多个 'GMSMarker' 标记

javascript - 用户输入未被捕获/存储