javascript - Ember-leaflet 如何从其他 View 与图层交互

标签 javascript ember.js ember-data leaflet

我刚刚实现 ember-leaflet,遇到了一个问题。 我想创建 map 上的标记和折线列表。然后我想通过交互列表来处理这些层。

例如,当我单击与折线项对应的列表项时,我想在折线层上调用 editing.enable() 。我正在使用 ember-data 渲染标记和折线..

一些想法?我对 ember 很陌生,我不需要完整的代码,请指导我应该做什么,以使其正常工作并以“ember 方式”:)

谢谢

最佳答案

您需要向图层添加 id,然后可以在列表操作中使用 layers.findBy('id', id)

<a {{action 'enablePolyline' layerId}}>{{layerName}}</a>

在 ListView Controller 中创建您的操作,并且该 Controller 应该使用needs来访问具有图层的 Controller 。从那里使用 findfindBy 获取正确的图层并进行任何修改,例如 editing.enable()

actions: {
  enablePolyline(id) {
    if (!id) {
      return;
    }

    let layers = this.get('layers');
    let layer = layers.findBy('id', id);

    if (layer) {
      // do what you need to do with layer..
    }
  }
}

关于javascript - Ember-leaflet 如何从其他 View 与图层交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580442/

相关文章:

javascript - Ember - 计算排序

javascript - 使用 oncontextmenu 和 js/jquery 左键单击上下文菜单

ruby-on-rails - 需要在 rails outlet 中正确获取主要的 Ember outlet

ember.js - 使用单个服务器请求更新多个记录的最佳实践

performance - Ember 数据 : pushing many records to store is slow

javascript - 如何使用 frisby 运行特定测试?

javascript - 如何在React中动态生成导入文件的路径

ember.js - Ember.js 中的 Handlebars 助手

Ember.js 文本字段更改事件

ember.js - IsValid 和 Ember 数据