javascript - Ember google map 事件处理函数无法获取 `this`

标签 javascript ember.js

在我的 Controller 中 我有以下操作:

actions: {
changeCenter: function(event) {
  this.set('mapLat', event.latlng.lat());
  this.set('mapLng', event.latlng.lng());
}}

在我的模板中,我将其用作

{{g-maps 
name="my-map" 
lat=mapLat lng=mapLng zoom=zoom
circles=circles
showMapTypeControl=false
showScaleControl=false
click=actions.changeCenter}}

但是当函数被触发时,this 关键字是undefined。有人可以在这里给我一些提示吗? 谢谢。

最佳答案

将其用作闭包操作,例如 (action 'actionName'):

{{g-maps 
  name="my-map" 
  lat=mapLat lng=mapLng zoom=zoom
  circles=circles
  showMapTypeControl=false
  showScaleControl=false
  click=(action 'changeCenter')}}

关于javascript - Ember google map 事件处理函数无法获取 `this`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44251730/

相关文章:

javascript - 使用 mongoose 按 Id 删除对象

javascript - 掩码不接受输入字符时的回调函数

ember.js - 一起请求两个模型

javascript - Greensock 不透明度动画从 0 到 1 然后再返回

Javascript简单的滚动功能问题

javascript - 在 vue 应用程序中从多个输入创建单个数组

ember.js - 手动从 ember 数据存储中删除记录

internationalization - Ember : dynamic switch to chosen language (using i18n library)

jQuery 终端、Ember、QUnit - 自动化测试问题

ember.js - 如何在考虑单元测试的情况下构建 Ember 应用程序?