3

私はモバイルフレームワークを調査していて、Ember.jsに出くわしました。私はMVCモデルが大好きですが、視覚的な要素が通常どのように処理されるのか興味があります。たとえば、jQuery Mobileを使用すると、モバイル向けに最適化されたフォーム要素(ボタン、スライダー、トグルスイッチなど)を簡単に作成できます。ページ遷移を処理することもできます。これらのタイプの視覚要素は、Ember.jsの範囲外のようです。

ほとんどの人は、視覚要素を処理する別のフレームワーク(jQuery Mobileなど)と組み合わせてEmber.jsを使用しますか?

4

3 に答える 3

1

Emberは内部でjQueryを使用し、jQueryUIウィジェットでうまく機能する傾向があります。人々が遭遇する主な問題は、emberがビューをレンダリングする方法とjQueryUIウィジェットがイベントハンドラーを失うという動的な性質です(これは通常、簡単に解決できます)。

理想的には、Emberビューレイヤーを使用してスライダーなどのカスタムビューを作成し、それらのカスタムビューは必要に応じて外部ウィジェットをラップできます。

https://github.com/flamejs/flame.js

FlameJSは、あなたが求めていることの多くを提供する興味深いプロジェクトでもあります。

于 2012-12-06T21:17:23.413 に答える
1

Ember.Viewクラスから継承されたdidInsertElement関数を使用して、jQueryベースのプラグインとフレームワークをEmberと簡単に統合できます。簡単な例は、日付ピッカーを作成することです。

App.DatePicker = Em.TextField.extend({
    didInsertElement: function() {
        this.$().datepicker();
    }
});

この例では、this。$()は$(this.element)のEmberの省略形であり、テキスト入力がdomに挿入された後に日付ピッカーを作成します。Emberの組み込みオブザーバーとプロパティバインディングを使用して、変更を処理できます。

jQueryMobileには、Emberがルーティングとリンクを制御できるようにするための構成が特に必要です。この良いサンプルはhttps://github.com/LuisSala/emberjs-jqmです。

于 2012-12-06T21:41:59.767 に答える
0

そのためにbootstrap.jsをチェックアウトしましたか?すべてのスタイルは、表示されている画面のサイズに合わせて自動的にスケーリングされます。ハンドルバーテンプレートに特別なものを統合する必要はなく、適切なクラスを追加するだけで、基本的に残りを処理します。

http://twitter.github.com/bootstrap/

于 2012-12-07T07:02:48.653 に答える