私はAngularJSを初めて使用します。誰かが私の頭を動かすのを手伝ってくれることを願っています!
HTMLコンテンツのページを動的に取り込むWeb電子書籍リーダーを開発しています。これまでのところ、私は$ http AJAX呼び出しでそれを行い、それを'ng-bind-html-unsafe'でバインドしています(HTMLは私たち自身のものであり、同じサーバー上のディレクトリから提供されるだけです。私はHTMLなので、必要に応じてこれを別の方法で行うことができます)。したがって、ユーザーが前/次を押すたびに、コントローラーはHTMLの前/次のページをフェッチし、モデル内でそれを切り替えます。これはうまく機能します。
しかし次に、コメントやハイライトなどのユーザー追加でこのダイナミックHTMLを拡張する必要があります。それらは、ユーザーが追加した場所に表示する必要があります。たとえば、コメントは特定の段落の下にある可能性があります。
JQueryを使用すると、各HTML要素に独自のIDを割り当て、ユーザー生成コンテンツの各ビットを特定のIDに関連付けると思います。次に、DOMを自分で操作できます。たとえば、関連する要素の下に各コメントを追加します。
原則は直接のDOM操作を完全に回避することであると思われるため、AngularJSの正しいアプローチは何ですか?
HTMLコンテンツをモデル内の個別の要素として定義し、段落、ヘッダー、画像などごとに個別のJavaScriptオブジェクトを設定することで、どのように実行できるかがわかりました。しかし、基本的にはJavaScriptでDOMのようなデータを定義することになります。かなり間違っていて散らかっています...