我遇到了一個理解預期的Ember.Component隔離行爲的問題。我的理解是,呈現同一組件的多個實例不應導致組件之間共享屬性。Ember組件屬性不起作用孤立
我看到相反的行爲,其中更新組件上的屬性(從組件本身內)更新該組件當前在頁面上呈現的其他實例上的相同屬性。
這是問題的一個例子:http://jsbin.com/naworoyimoto/1/edit
這是bug還是我誤解隔離在Ember.Component是如何工作的?
我遇到了一個理解預期的Ember.Component隔離行爲的問題。我的理解是,呈現同一組件的多個實例不應導致組件之間共享屬性。Ember組件屬性不起作用孤立
我看到相反的行爲,其中更新組件上的屬性(從組件本身內)更新該組件當前在頁面上呈現的其他實例上的相同屬性。
這是問題的一個例子:http://jsbin.com/naworoyimoto/1/edit
這是bug還是我誤解隔離在Ember.Component是如何工作的?
我認爲你會體驗JavaScript對象引用的有趣本質。我碰到了這個問題,事實證明,因爲我在類定義中的屬性上定義了數組,導致該類的所有實例都引用了同一個數組對象。
我通常會解決這個問題的方法是通過將我想成爲數組的屬性設置爲null,然後在init方法中設置數組。這可以確保每個實例都創建自己的數組,而不是與其他實例共享數組引用!
這是我您的jsbin示例的叉施加我修復:http://jsbin.com/xulidefikuyu/1/
現貨答覆,謝謝! – 2016-04-07 18:49:24
[在灰燼成分共享狀態(的可能重複http://stackoverflow.com/questions/19070843/shared-state-in-ember -component) – sunrize920 2014-10-03 17:29:05