【问题标题】:Accessing the $index of an ng-repeat element inside uib-dropdown?访问 uib-dropdown 中的 ng-repeat 元素的 $index?
【发布时间】:2017-05-04 02:22:13
【问题描述】:

我正在尝试编写一个 ng-repeat,其中的每个元素都有一个附加的下拉菜单。在该下拉菜单中,我希望具有作用于该单个元素的功能,为此我需要访问该元素的索引。这是我的html:

    <div class="user" ng-repeat = "item in tParticipants">
            <div uib-dropdown>
                <button class="free-agent-dropdown" uib-dropdown-toggle>
                    <i class="fa fa-ellipsis-v" aria-hidden="true"></i>
                </button>
                <ul class="dropdown-menu" uib-dropdown-menu>
                    <li role="menuitem" ng-click="removeFromList($child.$index)">Remove From List</li>
                </ul>
            </div>
            <label>Checked In</label>
    </div>

问题是,下拉菜单显然无法访问 $index。当我运行它时,我变得不确定。我也尝试过 $parent.$index 并且发生了同样的事情。任何 Angular 专业人士都知道我可以做些什么来获取该索引?先感谢您!

【问题讨论】:

  • 首先,应该是removeFromList($child,$index), 而不是.) - 您也可以将item 传递给该函数,因为如果您将对结果进行排序,那么$index 将对排序项的引用,而不是它在数组中的实际位置
  • 你应该像这样在 removeFromList 方法中直接使用 $index :&lt;li role="menuitem" ng-click="removeFromList($index)"&gt;Remove From List&lt;/li&gt;
  • 感谢您的快速回复!我不认为只是将整个项目传递给函数。我将其更改为:&lt;li role="menuitem" ng-click="removeFromTournament(tParticipants.indexOf(item))"&gt;Remove From Tournament&lt;/li&gt; 并且代码有效。感谢您的帮助!

标签: javascript html angularjs angular-ui-bootstrap


【解决方案1】:

如果你想删除你的列表元素而不是不需要在 ng-click 上使用任何功能,你可以这样做:

<div class="user" ng-repeat = "item in tParticipants">
            <div uib-dropdown>
                <button class="free-agent-dropdown" uib-dropdown-toggle>
                    <i class="fa fa-ellipsis-v" aria-hidden="true"></i>
                </button>
                <ul class="dropdown-menu" uib-dropdown-menu>
                    <li role="menuitem" ng-click="tParticipants.splice($index,1);">Remove From List</li>
                </ul>
            </div>
            <label>Checked In</label>
    </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多