2015-11-20 15 views
0

如果是我的任務列表的當前元素,我試圖dinamically打開手風琴的一個元素。這是我的HTML:AngularJS手風琴是開放的功能調用

<div ng-controller="taskController"> 
<uib-accordion close-others="oneAtATime"> 
      <uib-accordion-group heading="{{task.id}}: {{task.subject}}" ng-repeat="task in datafromRedmine.issues" class="priority{{task.priority.id}}"> 
       <div id="midRow"> 

        {{task.tracker.name}}-{{task.project.name}} 

       </div> 
(...) 
</uib-accordion-group> 

    </uib-accordion> 
</div> 

誰在使用這個功能的角度控制器:

$scope.isTheCurrent = function (id){ 
     return(id == $scope.Currentid); 
} 

我想下一個要添加到NG-重複是開=「{{isTheCurrent(任務.ID)}}」,但控制檯說

Error: [$parse:syntax] Syntax Error: Token '{' invalid key at column 2 of the expression [{{isTheCurrent(task.id)}}] starting at [{isTheCurrent(task.id)}}]. 

我怎樣才能返回一個布爾檢查,如果從NG重複的task.id是一樣的一個我一直保存在$ scope.currentId?

+0

道歉,我忽略了幾件事情。第一個問題是不需要'{{..}}'語法。然而,這與'is-open'不相關,因爲'is-open'需要一個可指定的值,這意味着您可能必須確定哪個手風琴在控制器中處於活動狀態並將其作爲變量傳遞 – Ankh

回答

0

ng-repeat指令實現了一些特殊的屬性。其中之一是$index。你可以在你的函數調用中使用它。例如:

<div ng-show="isTheCurrent(datafromRedmine.issues[$index].id)"> 
    This is current the issue<br> 
    {{task}} 
</div> 

有關$index特殊屬性的更多信息,請閱讀我以前的答案AngularJS ng-repeat API Docs