2016-07-12 9 views
0

私は完璧な、各投稿の内容全体を読み込む記事のリストを持っています。 htmlの投稿コンテンツはデータベース列の文字列です。今私は希望の位置にリンクを追加して、リスト(HTMLコンテンツの一部)に投稿プレビューを表示するだけです。私が記事の中にコメントを書くことを達成するために、プレビューするためにコンテンツをカットするのがポイントです。ng-bind-htmlを使用してAngular.jsのブログ記事のhtmlプレビューを作成します

ng-bind-htmlをロードする前にコンテンツを操作するにはどうすればよいですか?私は最初のコメントを検出し、コンテンツのHTMLドキュメントをきれいにする必要があります。私はjqueryでテストをしていますが、角度のある方法でそれを行う方法を知りたいと思います。

ng-bind-html式のフィルタが作業をすることができると思います。しかし、私は今どのようにフィルタ内のhtml文字列を操作する必要はありません。私は多くのタグを削除していくつかのことをする必要があるので、jquery構文のように操作します。

<script> 
    $(function() { 
     var com = $("*") 
      .contents() 
      .filter(function(){ return this.nodeType == 8;}) 
      .first(); 
     com.nextAll().remove(); 
    }); 
</script> 

おかげ

答えて

0

あなたはng-bind-html中に実行される機能を追加し、サニタイズサービス$sceを使用して文字列へのアクセスを得ることができます。サービス($sanitise)を参照してください。

ng-bind-htmlの中では、jqliteとネイティブのjavascript($documentラッパーを使用)を使用してDOMを操作できます。操作が複雑すぎる場合は、jqueryを直接使用します。そのためには、index.htmlにinclude it before angularをちょうど入れ、$の代わりにangular.elementを使用する必要があります。

関連する問題