2017-01-08 5 views
0

の形で来てこんにちは私はここでの唯一のいくつかのテキスト(3行) およびその他のテキストはショーにロードされなければならない多くのボタンは、より多くのテキストを表示:レスポンスはJSON

は、テキストはJSONから来て表示する必要があり

JS:

$scope.fnInit = function() { 
     getInfo.getSubCategory($stateParams.id).then(function(response){ 
      $scope.subCategory=response; 
     }) 
    }; 

HTML:記述秒で

<div ng-repeat="data in subCategory" class="sub_category"> 
    <div class="header"><b>{{data.heading}}</b></div> 
    <div class="row content"> 
     <div class="col-xs-4"><img ng-src="{{data.image}}" class="img-responsive center-block" ></div> 
     <div class="description col-xs-7" ng-bind-html="data.description"></div> 
    </div> 
</div> 

私は制限されたテキストを必要とし、次に...をクリックすると...私は完全なデータを取得する必要があります。

すべてのヘルプは、あなたがこのように表示する文字の数を制限することによって開始することができます

+0

「limitTo」を使用してドキュメントをチェックアウトする[here](https://docs.angularjs.org/api/ng/filter/limitTo) – Jax

+0

limitToを使用することができますが、単語が半分になっていると見えません適切な –

+0

あなたはあなたの質問に完全な言葉を言及する必要があります。 – Jax

答えて

1

をいただければ幸いです。

$scope.limit = 100; 

$scope.data = [{ 
    'description': 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. ' 
    }]; 

$scope.showMore = function(desc) { 
    console.log(desc); 
    $scope.limit = desc.length  
} 

あなたがベースのテキストの最初の3行をカバーするためにlimitを設定することができますあなたの<div>のサイズ。

plunkrを参照してください:複数のテキストを表示するために、あなたのコントローラに

<span ng-click='showMore(d.description)'>...</span> 

とロジック:

私はもっとそうのようなテキストを表示するために(...)3個のドットで <span>を追加しました詳細については。

this oneのように使用できるカスタムフィルタもあります。

また、SO this answerは、単語を壊すことなくカスタムフィルタを実装する方法を示しています。

+0

答えはありがたいですが、HTMLではlimitToフィルタを保持していて、単語が半分表示されている場合、どのように完全な単語を取得できますか? –

+0

回答の最後の段落は、その問題の解決策へのリンクです。 – Jax

関連する問題