对链接执行操作

时间:2014-11-21 16:24:17

标签: ember.js

我想向{{link-to}}助手添加操作。 例如,在模态组件中,我使用{{link-to}}打开一个新路由。当用户点击链接时,我想通过操作关闭模式。

一种可能的解决方案是围绕{{link-to}}包裹行动:

<button {{action "close"}}>
  {{#link-to 'register'}}Registreer{{/link-to}}
</button>

这是最好/最干净的解决方案吗?或者我可以向链接帮助程序添加操作吗?

另一种方法可能是在自定义操作中转换和关闭,但这种方法不是 可用于组件:

// template.hbs

<button {{action "link" "register"}}>Registreer</button>

...

// template-controller.js
actions: {
  link: function(routeName) {
    this.transitionToRoute(routeName);
    this.close()
  }
}

1 个答案:

答案 0 :(得分:2)

您应该执行拆解操作,例如在当前willDestroyElement的{​​{1}}事件中关闭模式框。

通过执行此操作,您可以view并让{{link-to 'register'}}(template-view.js)管理有关闭模式的事实。

查看willDestroyElement HERE

的文档