-1

AngularJs ng-repeatで動的に増分するためにブートストラップパネルの折りたたみを設定するにはどうすればよいですか?言い換えればAngularJs ng-repeatのブートストラップパネルのリンク名を動的に変更します。

、この変更:

data-target="#collapseOne"、 この:ような何かに <div id="collapseOne">

を(sudoのコードを気):

この: data-target="#collapse" + "+=" これは: <div id="collapse" + "+=">

<div ng-repeat="product in products"> 
    <div class="panel-group"> 
     <div class="panel panel-default"> 
      <div class="panel-heading"> 
       <h4 class="panel-title"> 
        <a data-toggle="collapse" data-target="#collapseOne">{{product.productName}}</a> 
       </h4> 
      </div> 
      <div id="collapseOne" class="panel-collapse collapse"> 
       <div class="panel-body">{{product.productDescription}}</div> 
       <div class="panel-footer">Panel Footer</div> 
      </div> 
     </div> 
    </div> 
</div> 
+0

すでに回答済みです:http://stackoverflow.com/questions/30482921/ng-repeat-dynamic-variable-name謝罪いたします。 – onmyway

+0

なぜ私をダウン投票しますか?私の質問に何が間違っていますか?それは、何らかの理由でダウン投票したトロルのようなものです。 – onmyway

答えて

1

あなたは角度でそれをバインドするng-attrを使用することができます。

<a ... ng-attr-data-target="{{'#collapseOne' + yourId}}"> 
    {{product.productName}} 
</a> 

あなたはng-repeatで作業している場合は、このIDを設定するために$indexを使用することができます。
すべての属性に対して機能します。

+0

代替ソリューションをありがとう。私は私の答えに掲載されているように、この簡単な解決策を見つけました。 – onmyway

+0

@onmyway Concatening $インデックスは素晴らしいですが、私が言ったように、 '{{}} 'とのバインディングはすべての属性に対して機能しないかもしれません。 'ng-attr'の使用はより洗練されています(私の答えでは$ indexも使います)。 – Mistalis

関連する問題