如何通过外部脚本更改当前模板/路由?

时间:2014-11-13 16:46:31

标签: javascript jquery ember.js

在我的ember.js-app中,我有一个包含javascript-jQuery脚本的模板。在这个脚本中,我想调用ember来读出一些变量,保护它们,然后更改模板

喜欢这样

finishedGame = function() {
  // ember create model-entry by using "this.points"
  // ember change the template to "game/credits"
};

如何使用ember挂钩到独立运行的脚本并启动切换模板等功能,或者是否可以从ember-scripts itselv以外的地方访问控制器功能?

1 个答案:

答案 0 :(得分:1)

一个非常糟糕的方法是使用全局变量来执行此操作,然后按照this answer中的描述在Ember中观察它,然后您可以触发您需要的任何操作,但这绝对是 not推荐的

正如this other answer所述,如果您发现自己认为全局变量是最佳解决方案,则表明某些内容应该被重构。

所以在这种情况下我会从Ember范围内调用finishedGame()函数,比如控制器(可能是Ember。$,如果它是jQuery)并且让这个函数返回你想要保存的值,然后发出对transitionToRoute方法(take a look at this documentation)的调用。