0

.css()特定のハンドルバー テンプレートを使用してページにいくつかの div 要素を配置する jquery 関数を呼び出そうとする EmberJS アプリケーションがあります。

私の問題は、EmberJS がテンプレートをアプリケーションにロードするとき (URL の変更によるものか{{linkTo}}、jquery 関数が起動しないかどうか) です。つまり、ページを更新すると、jquery 関数は正常に起動し、すべてがうまくいきます。さらに、ページの幅が変更された場合のイベントリスナーがあり、これにより関数が再起動されますが、これも正常に機能します。

私の推測では、テンプレートが最初にロードされると、Ember は実際には jquery 関数を呼び出しません。とにかくこれを回避するには?ハンドルバーを使用して、scripts.js から関数を直接呼び出す必要があるのではないかと考えていました。ご協力いただきありがとうございます!

さらに、これはビューを活用せずに可能ですか? たぶん、ハンドルバーとコンポーネントだけですか?

4

1 に答える 1

2

didInsertElementビューのメソッドにそのようなコードを入れる必要があります。たとえば、テンプレートがproject/indexの場合、次のようにします。

App.ProjectIndexView = Ember.View.extend({
    template: 'project/index',
    didInsertElement: function() {
    /// Your jQuery code here
    }
});
于 2013-10-03T22:31:03.080 に答える