如何仅在特定条件下绑定操作[Ember.js]
我只是想知道,有没有什么方法可以达到下面的目的如何仅在特定条件下绑定操作[Ember.js],ember.js,htmlbars,Ember.js,Htmlbars,我只是想知道,有没有什么方法可以达到下面的目的 <button class="{{unless publishable "button-disabled"}}" {{if publishable (action "publish")}}>Publish</button> 发布 当然,这可以用行动的方法来完成。我只是认为,如果可以在模板中完成,就可以让代码更干练 注: 我知道上面的代码不起作用。这只是为了举例说明 我知道按钮可以使用disabled属性来实现这一点。在
<button class="{{unless publishable "button-disabled"}}" {{if publishable (action "publish")}}>Publish</button>
发布
当然,这可以用行动的方法来完成。我只是认为,如果可以在模板中完成,就可以让代码更干练
注:
- 我知道上面的代码不起作用。这只是为了举例说明
- 我知道按钮可以使用
属性来实现这一点。在我最初的作品中,它实际上是一个disabled
,没有禁用
。我需要将其保留为
标记,以用于css目的李> - 我希望保持在页面上的按钮,无论它是否被禁用。这是一种网页惯例。在这种情况下,当按钮被禁用时,用户将知道他一定遗漏了什么
发布
在本文中,您可以阅读有关此特定用例(mut
converts to function)的更多信息
说明:
我们使用动作助手,传递给该助手的动作将根据if条件进行计算
如果条件的计算结果为true,我们将返回'publish'
,这只是操作名称
如果条件的计算结果为false,则我们传递的操作将不起任何作用-我们使用类似于解决方法的方法:(操作(mut undeprop))
可以与帮助器结合使用:
发布
在本文中,您可以阅读有关此特定用例(mut
converts to function)的更多信息
说明:
我们使用动作助手,传递给该助手的动作将根据if条件进行计算
如果条件的计算结果为true,我们将返回'publish'
,这只是操作名称
如果条件的计算结果为false,那么我们将传递一个不起任何作用的操作-我们使用类似于解决方法的方法:
(操作(mut undeprop))
如果按钮不可发布,隐藏按钮是否更有意义?@Kitler我更新了我的问题。希望这对你有意义。如果按钮不可发布,隐藏按钮不是更有意义吗?@Kitler我更新了我的问题。希望这对你有意义。你能解释更多关于(mut undeprop)
的事情吗?或者你能给我一个链接来阅读更多关于它的信息吗?我不知道这一点,也无法从ember网站上找到任何引用。那么这里的undeprop
是什么?它是否只是表示控制器/组件中的未定义属性?它本身在Ember.js中没有特殊意义,对吗?undeprop
只是随机的未定义属性。是的,它没有特别的意义。它只是用来创造一个没有任何作用的模仿动作。干杯!现在非常清楚了。这是一种变通方法吗?我只是好奇为什么它不能像{{action(如果可以发布'publish')}}
那样工作,这样可读性更好。在你看来,这是可能的吗。你能解释更多关于(mut undeprop)
的事情吗?或者你能给我一个链接来阅读更多关于它的信息吗?我不知道这一点,也无法从ember网站上找到任何引用。那么这里的undeprop
是什么?它是否只是表示控制器/组件中的未定义属性?它本身在Ember.js中没有特殊意义,对吗?undeprop
只是随机的未定义属性。是的,它没有特别的意义。它只是用来创造一个没有任何作用的模仿动作。干杯!现在非常清楚了。这是一种变通方法吗?我只是好奇为什么它不能像{{action(如果可以发布'publish')}}
那样工作,这样可读性更好。在你看来,这种增强是可能的吗?
<button {{action (if publishable 'publish' (action (mut undefProp)))}}>Publish</button>