【问题标题】:Ember action target to specific componentEmber 动作目标到特定组件
【发布时间】:2015-07-23 23:36:23
【问题描述】:

我最近升级到 ember 版本 1.13.5

如何将操作定位到特定组件,它在以前的版本上工作,现在它没有响应

<a href="#" class="nav-action" {{action 'open' target='view.appOverlay.categorySideMenu'}}><i class="fi-list"></i></a>

在模板的其他部分我有这个

{{#overlay-fx viewName="appOverlay" open="openSideMenu"}}
    {{#side-menu  open="open" use="toRight" targetObject=view.appOverlay viewName="userSideMenu"}}
        {{partial "partial/user-side-menu"}}
    {{/side-menu}}
    {{#side-menu  open="open" use="toLeft" targetObject=view.appOverlay viewName="categorySideMenu"}}
        {{partial "partial/category-side-menu"}}
    {{/side-menu}}
{{/overlay-fx}}

是不是因为视图弃用,现在你不能用 view.NAME 事件访问组件?

我只是不断收到此错误,如果操作没有冒泡,这很常见

Uncaught Error: Nothing handled the action 'open'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.

【问题讨论】:

  • 这似乎是一个真正的重大变化。你有没有机会创建一个 JSBin 或者至少在 github 上打开一个关于这个的合法问题?我不认为核心团队打算通过简单的升级来破坏任何东西。只是好奇-您从哪个版本的 ember 升级(何时工作)?
  • 看起来您确实发现了回归,我已将您的问题放在 ember-dev Slack 频道中。你能尝试用view.childViews.appOverlay替换view.appOverlay吗?
  • 我尝试更改为 view.childViews,但仍然出现同样的错误,我将在 jsbin 中进行复制以便更好地调试... tnx 伙计们

标签: ember.js ember-cli


【解决方案1】:

在多次尝试错误后,解决方案是从动作的目标参数中删除“”

结果是这样的

<a href="#" class="nav-action" {{action 'open' target=view.appOverlay.categorySideMenu}}><i class="fi-list"></i></a>

似乎很愚蠢,但它没有在任何地方记录,也许新的更改会传播到所有接收函数的视图,从而浪费了调试时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    相关资源
    最近更新 更多