使用Ember的动作助手,bind-attr是设置CSS样式的唯一方法吗?

lim*_*ist 1 ember.js

随着Ember.Button视图的弃用(带有最近的Ember主干版本)支持动作帮助器,有没有办法设置动作助手的父HTML元素的静态/不变的CSS样式(该元素是否为按钮) ,链接等)没有那些静态的CSS样式被bonked /覆盖?那是,

  • 使用旧的Ember.Button和#view,我们可以传入类(对于静态CSS样式)和classBinding(对于动态CSS样式),静态样式不受动态样式的影响.
  • 但是使用新的动作助手,classBinding似乎不起作用.bind-attr确实有效,但在bind-attr之外为该元素指定的任何CSS类都将被bind-attr class ="foo"规范覆盖.
  • 因此,我发现使用动作助手在元素上保留静态CSS样式的唯一方法是指定一个字符串属性(在相关的Ember视图中),指定所需的CSS静态样式.例如{{bind-attr class ="App.TheView.isActive App.TheView.cssStyles}}这是不优雅/漏洞的.

预先感谢您的任何建议/帮助!

sly*_*7_7 8

您还可以混合使用静态和动态样式{{bind-attr}},如下所示:

{{bind-attr class=":staticStyle view.someProperty:dynamicStyle}}
Run Code Online (Sandbox Code Playgroud)