javascript
  • html
  • angularjs
  • directive
  • 2016-07-15 4 views 0 likes 
    0

    私はng-repeatのコードを展開できます。私は一度に1つのアイテムを展開したいと思います。Ng-repeatとdirectiveは一度に1つのリスト項目を展開します

    私はそれをやろうとしています方法は、HTMLファイル内の

    <div data-ng-repeat="parts in data track by $index"> 
        <li id="titleHelp" ng-click='setItem($index);"> 
    

    と私が以前に拡大した項目を崩壊し、新しいものを展開したいSetItem関数機能のディレクティブです。インデックスを使用してディレクティブ内の1つのリピート要素にアクセスできますか?

    ありがとうございました!

    答えて

    1

    現在、リストアイテムをどのように展開していますか? あなたSetItem関数の機能では

    <div data-ng-repeat="parts in data track by $index"> 
        <li id="titleHelp" ng-click='setItem($index);"> 
        <div ng-show="$index = selected_item"> <!-- contents --></div> 
    

    を行う項目をクリックして、繰り返しリストにされたとして、私は、すぐに変数を設定してどうなるのか:

    $scope.setItem = function(i) { 
        $scope.selected_item = i; 
    } 
    
    1

    は、オブジェクトを宣言し

    $scope.obj={selected:null}; 
    

    その後、ngリピートにメソッドを追加すると、

    $scope.isHide = function (id) { 
    
              if (id == $scope.obj.selected) 
               return $scope.obj.selected = "all"; 
    
              return $scope.obj.selected = id; 
             } 
    

    divを非表示にするには、このメソッドをidで呼び出します。もしあなたが必要なら、リのために同じことをしてください。

    関連する問題