Javascript ng单击错误:[$parse:syntax]语法错误:令牌';对象';意外,应为[]]
当用户点击谷歌地图上的某个点时,我正在进行反向地理编码,如下所示:Javascript ng单击错误:[$parse:syntax]语法错误:令牌';对象';意外,应为[]],javascript,angularjs,google-maps,geocoding,angularjs-ng-click,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]的控制
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])].
我在另一个应用程序中使用了它,但我只是传递一个lat&long字符串
在尝试将对象作为参数传递之前,是否需要将其转换为其他对象
在使用ng click之前,是否有人遇到此错误
任何帮助都将不胜感激,谢谢 如果不看完整的代码,我猜您会得到错误,因为
ng-click='addressPicked("+results[1]+")'
正在将结果[1]
转换为其字符串表示形式[object]
,因此出现错误
尝试不使用内引号使用
ng-click='addressPicked(results[1])'
如果不看完整的代码,我猜您会得到错误,因为
ng-click='addressPicked("+results[1]+")'
正在将结果[1]
转换为其字符串表示形式[object]
,因此出现错误
尝试不使用内引号使用
ng-click='addressPicked(results[1])'
您应该这样做:
ng-click='addressPicked('+results[1]+')'
因为结果是一个变量(对象),所以传递时必须不带引号。您应该这样做:
ng-click='addressPicked('+results[1]+')'
因为结果是一个变量(对象)必须在没有引号的情况下传递。对于试图将对象传递到下一个函数的人,上述两个答案都不起作用。在这种情况下,您需要使用:
ng单击地址拾取('+JSON.stringify(object)+')
对于试图将对象传递到下一个函数的人,上述两个答案都不起作用。在这种情况下,您需要使用:
ng单击地址拾取('+JSON.stringify(object)+')
我得到了类似的错误,当我的表达像上面和当我改变了表达像下面的问题得到解决。在ng类的所有类中添加单引号(“”)
<div class="class1" id="id1" data-ng-click="click1(arg)" data-ng-class="{ 'class2': expression, 'class3': expression, 'class4': expression }">
我得到了类似的错误,当我的表达像上面和当我改变了表达像下面的问题得到解决。在ng类的所有类中添加单引号(“”)
<div class="class1" id="id1" data-ng-click="click1(arg)" data-ng-class="{ 'class2': expression, 'class3': expression, 'class4': expression }">
如果结果
范围内的变量,请尝试ng单击='addressPicked(结果[1])。
如果结果
范围内的变量,请尝试ng单击='addressPicked(结果[1])。