我剛剛遇到了一個很奇怪的問題,我有多個applyBindings()但它們都是針對不同的元素。現在,這一切都用於正常工作,因爲一旦所有資源都被加載(yepnope完全回調),所有事情都會發生,但是現在它基於引發的事件(從我們的內部事件系統)發生,似乎有一個奇怪的錯誤(說視圖模型沒有可觀察到的,但是因爲它看起來不正確)。淘汰賽部分綁定問題
問題是,最後一個綁定似乎因爲某種原因覆蓋了所有其他綁定,所以如果我有4個元素具有唯一的id和4個視圖模型,每個綁定到它們的coresponding元素,所以我期望綁定發生像這樣:
element_a -> view_model_a
element_b -> view_model_b
element_c -> view_model_c
element_d -> view_model_d
但是由於某些原因,綁定似乎改變時view_model_d勢必使他們都成爲:
element_a -> view_model_d
element_b -> view_model_d
element_c -> view_model_d
element_d -> view_model_d
正如我所說的這個習慣做工精細,但由於我們轉向一種應用綁定的異步方式它似乎有點破裂,所有綁定的元素都在html和自包含的內容中(即,它們都不是動態注入的,並且不會在DOM中重疊)。另外,在firebug中調試時,viewmodels和元素是正確的,而不是未定義的,這可以解釋爲什麼最後一個調用會覆蓋所有其他元素。
我會嘗試做一個jsfiddle,但由於項目和外部模板和依賴項的複雜性質,它不可能。
所有的事情都指向我做錯了什麼,而不是KnockoutJS,但我不明白爲什麼它以前用得很好,唯一改變的是綁定的順序和時間。
任何有史以來見過的applyBindings滲入其他元素或覆蓋以前的綁定?