2012-03-20 14 views
0

Ember ViewのwillInsertElementプロパティ内のAJAXリクエストから応答が返るまで、テンプレートの読み込みを遅らせることはできないようですか?Ember Viewテンプレートの読み込みがAJAXリクエストの完了まで遅れる

テンプレートをレンダリングする前にjquery-ui.min.jsをロードします。

window.App = Ember.Application.create() 

App.TestView = Ember.View.create 
    tagName: 'div' 
    template: Ember.Handlebars.compile '<div>This is a view</div>' 
    willInsertElement: -> 
     $.ajax({ 
     url: "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js" 
     dataType: "script" 
     async: false 
     success: (data, textStatus, jqxhr) -> 
      console.log data 
      console.log textStatus 
      console.log jqxhr.status 
      console.log "Load was performed." 
     }); 
    didInsertElement: -> 
     console.log 'the element was inserted' 

App.TestView.append() 

私は、AJAXリクエストが完了する前にdidInsertElementが実行されていることを確認しています。

ありがとうございました。

答えて

2

外のファイルのアップロードを開始する必要がありますか?ビューが挿入される前にjquery-uiが利用可能であることを確認しますか?

  • あなたは、私はあなたのコードをテストしていませんが、$.getScriptが非同期で実行されるhttp://jsfiddle.net/RgcJA/
  • を参照してください、そしてsuccessコールバックであなたのビューを追加するだろうか? async: falseを設定しようとしましたか?
+0

私は$ .ajaxを$として使用するように質問を変更しました.getScriptは単なる高水準抽象化です。私はayncを設定しようとしました:falseと動作しません。しかし、私はあなたが正しいと信じて、私は成功のコールバックでビューを追加する必要があります。 – Rocky

0

ビューの可視プロパティを変数にバインドし、ファイルアップロードが完了したときにその変数を切り替えることができます。

また、あなたが最後に達成したいん何willInsertElement

関連する問題