2012-07-27 28 views
1

有一種方法可以設置動作助手的父HTML元素的靜態/不變CSS樣式(不管該元素是否爲靜態/不變的EssyButton視圖(w /最近的Ember中繼版本)一個按鈕,鏈接等),沒有那些靜態CSS樣式被打碎/覆蓋?也就是說,使用Ember的動作助手,綁定屬性是設置CSS樣式的唯一方法嗎?

  • 隨着老Ember.Button和#view,我們可以通過在這兩個類(靜態CSS樣式)和classBinding(動態CSS樣式)和靜態的風格是由動態的影響。
  • 但是對於新的動作助手,classBinding似乎不起作用。 bind-attr可以工作,但是爲bind-attr之外的該元素指定的任何CSS類都將被bind-attr class =「foo」規範覆蓋。
  • 因此,我發現使用動作助手在元素上保留靜態CSS樣式的唯一方法是指定一個字符串屬性(在相關的Ember視圖中),指定所需的CSS靜態樣式。例如{{綁定-ATTR類=「App.TheView.isActive App.TheView.cssStyles}}這是不雅/泄漏。

在此先感謝您的任何建議/幫助!

回答

8

,您還可以在{{bind-attr}}混合靜態和動態的風格,這樣的:

{{bind-attr class=":staticStyle view.someProperty:dynamicStyle}} 
+0

謝謝,這個解決方案的作品!你是否知道這些文件,或閱讀Ember的來源,或...? – limist 2012-07-28 12:35:06

+0

我並不完全記得,但是在文檔中有一些內容,然後跟隨網站上的問題/公關。目前,類綁定的完整功能甚至更好。請參閱http://jsfiddle.net/Sly7/nGfUp/#base。關於SO的emberjs問題很有幫助:http://stackoverflow.com/questions/11428887/view-helper-classbinding-if-boolean-is-false – 2012-07-28 15:52:06

1

你如何使用?動作助手您應該能夠給HTML元素的類

<a {{action "testIt"}} class="test">testing</a> 

下面是一個例子:http://jsfiddle.net/A9VZS/

+0

謝謝,我應該包括一個例子。我分叉您的片段,以顯示這裏的問題:http://jsfiddle.net/limist/9cct5/5/ – limist 2012-07-28 12:23:39

1

您現在可以使用內聯ifbind-attrdeprecated in 1.13

<div class={{if isUrgent 'is-urgent'}}> 

新文檔是here

+0

謝謝...特別是對於文檔鏈接也! – rmcsharry 2016-08-22 12:39:43

相關問題