1

我只是想知道,有什么方法可以实现以下目的。

<button class="{{unless publishable "button-disabled"}}" {{if publishable (action "publish")}}>Publish</button>

当然,也可以在action方法中完成。我只是认为如果可以在模板中完成它可以使代码更干燥。

笔记:

  • 我知道上面的代码行不通。它仅用于目的说明。
  • 我知道按钮可以使用disabled属性来实现这一点。在我原来的作品中,它实际上是一个<a/>没有disabled. 我需要将其保留<a/>为 css 的标签。
  • 我希望将按钮保留在页面中,无论它是否被禁用。这是一种网页约定。在这种情况下,用户将知道当按钮被禁用时他必须丢失一些东西。
4

1 回答 1

5

可以与helper{{mut}}结合使用:{{action}}

<button {{action (if publishable 'publish' (action (mut undefProp)))}}>Publish</button>

工作演示。

您可以在此博客文章中阅读有关此特定用例(mut转换为函数)的更多信息。

解释:

我们使用动作助手和我们传递给该助手的动作将被计算 - 基于 if 条件。

如果条件评估为真,我们返回'publish'它只是动作名称。

如果条件评估为假,那么我们传递什么都不做的动作 - 我们使用类似解决方法:(action (mut undefProp)).

于 2015-11-19T10:54:36.780 回答