4

如何从不属于 aRoute或的 JavaScript 函数中转换 Ember.js 应用程序Controller?我可以直接调用route.transitionTo()controller.transitionToRoute()使用Ember.Application实例吗?

我想要做的是将 amMap 集成到Ember.js应用程序中,这样当点击地图上的某个区域时,应用程序就会转换到适当的状态。

这是一个示例 jsFiddle。当从列表中选择一个大陆时,该大陆在地图上被选中。我希望反过来也发生,我应该在以下听众中做什么:

map.addListener("homeButtonClicked", function () {
    // how can I transition to index from here?
    // similar to this.transitionTo("index") from a route or
    // this.transitionToRoute("index") from a controller
    alert("Transition to index");
});
map.addListener("clickMapObject", function (e) {
    // how can I transition to continent from here?
    // similar to this.transitionTo("continent", id) from a route or
    // this.transitionToRoute("continent", id) from a controller
    alert("Transition to continent: " + e.mapObject.id);
});
4

1 回答 1

3

啊,但是当你可以通过“ember 方式”获得更多乐趣时,为什么要在全局函数中这样做:)

您最好将地图 div 移动到模板中并创建“IndexView”并在didInsertElement()方法中添加地图视图的事件处理程序。这是一个工作的 emberjsbin: http ://emberjs.jsbin.com/EsAkAVE/1/edit

于 2014-01-11T10:13:17.723 回答