2

これはおそらく角度のない方法であることはわかっていますが、コンテンツのレイアウト方法を大幅に書き直さないと良い方法は思いつきません。これは私の最初の角度アプリでもあり、クセを学ぶことができてうれしかったです。

基本的に、私は根本的に異なるウェブサイトのモバイル版を書いています。これは、ウェブサイトを動的に書き換える正当な理由にはなりませんでした。そこで、これらの各ページのコンテンツを HTML 形式で返す API を作成することにしました。

$http リクエストを実行してデータを取得する Angular で書かれた実用的な概念実証があり、それは完全に機能します。ただし、これらの各ページには 1 つまたは複数のリンクが存在する可能性があり、それらのリンクを解析および変更して、ページを直接参照する代わりに API を呼び出す必要があります。

たとえば、about us リンクでは、API から ($http.get().success() を介して) 次のモックアップが返されます。

<a href="http://localhost/about-us/">About Us</a>

ページには ID がありません。ページの ID を持たないフレームワークを使用しています。

しかし、これを変換する必要があるため、Angular は ajax get を介してページの読み込みを認識します。

<a href="#" ng-click="loadPage('about-us')">About Us</a>

これを行う方法はありますか?

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

4

1 に答える 1

0

角度のある方法で動作させたい場合は、html を角度のあるテンプレートに変換する必要があります。$compile サービスを使用してこれを行うことができます。

ここで結果を見ることができます。

いくつかの正規表現を使用して href を検索し、それらを ng-click に置き換えます。次に、コンパイル サービスを使用して角度要素に変換し、出力に追加します。

これは最も洗練されたソリューションではありませんが、うまく機能します。おそらくこの状況では、角度でそれを行う実際の値がないため、jQuery $('a').click() を使用するだけです。

于 2013-06-11T18:12:56.807 に答える