1
在Ember中,我有一个应用程序,我有一个外部控制器,模板以标准{{outlet}}呈现。Ember.JS - 从内部控制器发送消息到外部控制器
但是,该模板包含一个命名的出口{{outlet details}},并且该控制器的其中一个动作会执行transitionToRoute(),该出口位于该“details”出口内部,并且有一个内部控制器处理该嵌套模板。
我需要做的是对内部模板/控制器触发外部控制器上的操作。看来Ember不能打破“出路”的障碍。事件只会在商店内泡出来,而不会在商店里出现。
事情我已经尝试:
- 尝试this.send()和this.sendAction()。
- 尝试将外部控制器注入内部控制器(需要:“main”,main:Ember.computed.alias(“controllers.main”)) - 导致“undefined不是函数”错误。
- 使用嵌套模板中的{{action}}标记并发送父控制器上存在的操作 - 将导致“Nothing处理操作'selectTab'。如果处理了该操作,则可能导致此错误通过从控制器中的操作处理程序返回true,导致操作冒泡“错误。
我试过甚至有可能吗?我知道我可以使用jQuery来模拟这个,但我宁愿不必这样做,我更喜欢用“烬路”(如果有的话)。
Kingpin2k ......你力强的史诗! :) <3 –