2017-05-03 66 views
-1

所以我有分量與此代碼:如何阻止Ember組件繼承容器組件的類?

{{#summary-panel class="config-summary"}} 
{{config-summary-body class="summary-body" 
    config=model.config 
    generateConfig="generateConfig"}} 
{{device-summary-footer class="summary-footer" 
    config=model.config 
    generateConfig="generateConfig"}}  
{{/summary-panel}} 

好像擺在summary-panel{{yield}}每一個部件被賦予打破了device summary footer的CSS佈局類config-summary。我在這裏給他們上課的原因是因爲Ember似乎把組件放在了一個打破了我想要做的佈局的div中。

我們有幾個config-panel-xyz組件幾乎完全相同,除了幾處更改。所以我想我會把它們分解成單獨的組件,以便它們更加可重用。

我不明白爲什麼Ember會給這個內部的所有其他組件提供相同的分區,因爲它只是沒有意義。我如何讓它停止這樣做?

我也在一個側面說明不喜歡,我必須給該組件一個類,當它將/總是應該總是有這個類。這對我來說似乎很難看,但我不知道該怎麼做,因爲它總是給組件一個在實際的{{component-name}}中定義的div。

+0

Ember組件不會爲收益本身的項目添加類。它一定是別的什麼造成的。 –

+0

@JennieJi提到,Ember本身並沒有這樣做。摘要面板以某種方式將類傳遞給子組件(也許通過jquery),或者子組件自己已經聲明瞭該類名。 – alptugd

+0

我沒有做@alptugd,它確實做到了。誠實地厭倦了這一切,這不是一個孤立的事件,我被告知的所有事情都不起作用,並且我被告知的所有事情都沒有發生或者不應該發生。 如果我從父組件中刪除類名稱,孩子們不再擁有它了。但是,整個佈局是由於父母需要它而產生的。 我決定拋棄這個想法,只是製作一個組件就像其他組件一樣。我們只需複製/粘貼代碼。 –

回答

1

正如我已經評論的問題;你聲稱的不是Ember.js的行爲。您設計的組件必定會發生一些事情。

請檢查我爲你準備的twiddle。正如你所看到的,我已經創建了與你的名字相同的組件,並且分配的類也如預期的那樣。您可以從瀏覽器的調試控制檯中查看它們。 config-summary未被指派爲其他組件的類。請檢查這一點,並儘可能提供有關您的組件的更多細節。你甚至可以準備一個旋律來說明你的情況;這可能會讓我們對這個問題有更多的瞭解。

+0

非常感謝你。我不知道它爲什麼不起作用。還有一種情況是我無法讓事情發揮作用,而這個人說它應該起作用。我在你的情況下看到它沒有這樣做。不知道爲什麼它在我的。我有時間後會發佈組件。 –

+1

這不是什麼大不了的事;我只希望我們能夠重現您的問題並解決問題。最好的祝福 – alptugd