2

ng-viewにデータを取り込む2つのテンプレートがありますが、それらはドキュメントcssを継承していません。cssを機能させる方法はありますか?これをjquerymobileページで使用しており、リピートリストにjquerymobileuiを含める必要があります。

4

2 に答える 2

1

ng-viewHTML を現在の DOM に添付するだけです。ページに適用された CSS は正しく影響します。おそらく、jQuery Mobile UI は、HTML が追加されたときには起こらない JavaScript マジックを実行します。

たとえば、Listviews のドキュメントをざっと見ると、次のメソッドが表示されます。

refresh- リストビューを更新

JavaScript を介してリストビューを操作する場合 (新しい LI 要素を追加するなど)、refresh メソッドを呼び出してビジュアル スタイルを更新する必要があります。

$('.selector').listview('refresh');

「List basics & API」の下部にもセクションがあります。

リストの更新

リストビューにアイテムを追加する場合は、refresh() メソッドを呼び出してスタイルを更新し、追加されたネストされたリストを作成する必要があります。例えば:

$('#mylist').listview('refresh');

このメソッドは、リストに追加された新しいノードrefresh()にのみ影響することに注意してください。これは、パフォーマンス上の理由から行われます。既に拡張されているリスト アイテムは、更新プロセスによって無視されます。つまり、既に拡張されたリスト アイテムのコンテンツまたは属性を変更しても、これらは反映されません。リスト アイテムを更新する場合は、refresh を呼び出す前に新しいマークアップに置き換えます。

于 2013-01-31T20:49:16.437 に答える
0

ng-view には、ng-view コンテンツがリロードされたときに発行される$viewContentLoadedイベントがあります。コントローラーまたはディレクティブ スコープ (または rootScope) でそのイベントをリッスンし、@Brandon が言及しているように再適用/更新してみてください。

Angularおよびangular.jsの $viewContentLoaded で機能しない Jquery 呼び出しも参照してください。

于 2013-01-31T21:57:25.037 に答える