2016-09-09 50 views
2

我遇到aurelia問題並且實現了網橋下拉菜單。該橋在jQuery元素上調用一個函數來啓用實現下拉小部件。同時兌現調用同樣的方法,使所有的下拉列表中的小部件$('.dropdown-button').dropdown();在document.ready之前調用附加的方法

文檔中時,我捆綁再縮小代碼aurelia-bundler的問題就來了。 Attached自定義控件上的方法比document.ready代碼更早執行。這會導致下拉菜單忽略選項。

在這種情況下是否有強制執行順序的方法?

+0

嘿,你確定這是問題,而不是你可能忘記包括下拉到包? – kabaehr

回答

2

正如我們與橋樑作家@Thanood一起發現的,解決方案是延遲設置aurelia root直到文檔被加載。這實施了正確的方法呼叫訂單

export async function configure(aurelia: au.Aurelia) { 
    aurelia 
     .use 
     .standardConfiguration() 
     .developmentLogging() 
     .plugin("aurelia-materialize-bridge", bridge => bridge.useAll()); 

    await aurelia.start(); 
    // this delays loading the root until the document is ready to solve Materialize issue when widgets are initialised twice 
    await new Promise(resolve => $(document).ready(() => resolve())); 
    aurelia.setRoot("views/root"); 
} 
相關問題