簡體   English   中英

有沒有辦法將數據從ng-repeat有條件地傳遞到其他元素?

[英]Is there a way to pass data from `ng-repeat` to other element conditionally?

我遍歷一個數組,條件是我找到一個值。 但是,如何將該條件值傳遞給另一個元素?

范例:

<h1>{{title}}</h1> //how to get here?
<ul class="naviPrCatgInfo">

    <li ng-repeat='subProject in viewProject.SubProjectIds' ng-class="{'selected' : subProject.Id === subProjectId;}" > //how to pass?
        <a ng-class="subProject.Name | trimSpace" ng-href="" ng-click='changeSubProCat(subProject)'>
            {{subProject.Name}} {{subProject.Id}}
        </a>
    </li>

</ul>

不要在ng-repeat聲明新變量,因為它將被添加到ng-repeat創建的子范圍內。

您需要將subProjectId保留在ng-repeat范圍之外,以便可以在控制器內部使用,您需要使用$parent注釋將該變量放置在控制器范圍內,而不是ng-repeat

因此,您可以基於subProjectId輕松過濾viewProject.SubProjectIds並在subProjectId顯示title元素。

標記

<h1>{{(viewProject.SubProjectIds| filter: {Id: subProjectId}: true)[0].Name}}</h1>
<ul class="naviPrCatgInfo">
    <li ng-repeat='subProject in viewProject.SubProjectIds' ng-click="$parent.subProjectId = subProject.Id"
       ng-class="{'selected' : subProject.Id === subProjectId}">
        <a ng-class="subProject.Name | trimSpace" ng-href="" ng-click='changeSubProCat(subProject)'>
           {{subProject.Name}} {{subProject.Id}}
        </a>
    </li>
</ul>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM