2016-08-16 6 views
1

Here'reビデオ何が起こっているかの例に動作していない:消毒なし

を、 https://i.lithi.io/6GLS.mp4

https://i.lithi.io/TVIu.mp4

を消毒してクリックすると、上のテキストを作成し、フルテキストを描画することになっています。これを行うには

、私はNG-クリックでこの関数を呼んでいる機能

$scope.loadMore = function($event) 
{ 
    var element = $($event.currentTarget); 

    //console.log(element.data('text')); 
    var text = $scope.toHtml(element.data('text'));//$compile(element.data('text')); 
    //$sce.trustAsHtml(element.data('text')) 
    console.log(text); 
    if (element.parent().find('#text_data').length) { 
     element.parent().find('#text_data').html(text); 
    } else { 
     /*element.parent().find('#text_data').html(
      element.data('text').length > 100 ? 
      element.data('text').substring(0, 100) 
      : 
      element.data('text') 
     );*/ 
    } 
} 

を作成しました。基本的には、親を取得し、内部のテキストを持つ要素を選択します。

ボタンには、全角テキスト(100文字に限定されない)のデータ属性があります。

私が消毒すると、空白のテキストが入力されますか?一方、私が消毒しなければ、テキストを入力します。

私はそれが実際にそれを行う正しい方法であるかどうかわかりませんが、私は今タグを\nに置き換えました。 YouTubeは他のHTMLをサポートしていないので、うまくいくはずです。

+0

は 'element.data( 'テキスト')'それは '<持っ'と '>' – naveen

+0

@naveenがここにあるん示してください。出力されるテキストの印刷画面 https://i.lithi.io/40pS.png –

+0

問題を説明するために、Stack Snippet機能またはplunkrやjsFiddleのようなサイトを使用してください。テキストをスクリーンショットではなくテキストとして含めます。 –

答えて

0

これは、HTMLがエンコードされているためです。表示する前に、このようにデコードする必要があります。

//angular hack to html decode 
let decoded = angular.element('<div />').html(data).text() 
$scope.decodedData = $sce.trustAsHtml(decoded); 

$scope.toHtml(data)

フィドルようなものは何もありません:https://jsfiddle.net/codeandcloud/54mzkjqe/

+0

私は関数を作成しました。 '' ' $ scope.toHtml = function(data) { return $ sce.trustAsHtml(data); } '' ' ^私のコードからはコピーされていません。ちょうどそれをタイプしましたが、私はそれが正しいと思います。 –

+0

上記の行をコードに追加して試してください。 – naveen

関連する問題