2016-09-09 3 views
2

私はaureliaとマテリアルブリッジのドロップダウンに問題があります。ブリッジは、jquery要素の関数を呼び出して、マテリアライズするドロップダウンウィジェットを有効にします。同時に、マテリアライズでは、私がaurelia-bundlerでコードを縮小化束ねるときに問題が来る$('.dropdown-button').dropdown();添付されたメソッドはdocument.readyの前に呼び出されます

ドキュメント内のすべてのドロップダウン上でウィジェットを有効にするには、同じメソッドを呼び出します。カスタムコントロールのAttachedメソッドは、document.readyコードよりも早く実行されます。オプションを無視するドロップダウンが発生します。

この場合、実行順序を強制する方法はありますか?

+0

ちょっと呼んで強制しますか? – kabaehr

答えて

2

私がBridgeの著者@ Thanoodと共に発見したように、解決策は、ドキュメントがロードされるまで、aureliaルートの設定を遅らせることです。これは、正しい方法は、あなたがこの問題であることを確信しているといないあなたは、バンドルにドロップダウンを含めるのを忘れていることを、順番

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"); 
} 
関連する問題