Angularjs 使用ng repeat在自定义指令中进行双向绑定

Angularjs 使用ng repeat在自定义指令中进行双向绑定,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我基本上有一个作为对象数组存储的项目列表。其中一些物品是其他物品的“孩子”。这由每个对象中的“parentid”设置表示。这只意味着我希望在父对象中以嵌套列表的形式显示子对象 因此,我首先遍历数组,找到一个没有父元素的数组。当我找到它时,我调用一个接受该ID的指令,然后再次遍历主数组,找到parentID与所讨论的项相同的任何项并显示它。可以有多个级别的子级,以便递归调用该指令 这可以很好地工作并显示所有子项,但我希望能够选择这些项中的任何一项,并在顶层查看该ID或对象。这是行不通的。我通过双向

我基本上有一个作为对象数组存储的项目列表。其中一些物品是其他物品的“孩子”。这由每个对象中的“parentid”设置表示。这只意味着我希望在父对象中以嵌套列表的形式显示子对象

因此,我首先遍历数组,找到一个没有父元素的数组。当我找到它时,我调用一个接受该ID的指令,然后再次遍历主数组,找到parentID与所讨论的项相同的任何项并显示它。可以有多个级别的子级,以便递归调用该指令

这可以很好地工作并显示所有子项,但我希望能够选择这些项中的任何一项,并在顶层查看该ID或对象。这是行不通的。我通过双向绑定将一个变量传递到每个指令中,但没有父级被更新。我理解原始问题,我正在传递一个对象,但这不起作用。我想我需要对重复做些什么,但我不确定是什么。我不认为这是个问题

在下面的演示中,每当我单击一个项目时,我都需要显示更新的var3变量

初始HTML

<div>{{var3}}</div>
<div>
    <my-directive var1="item1"
                  var2="item2"
                  var3="item3">
    </my-directive>
</div>
指令HTML

<div>
    <div ng-click="var3=thisItem.itemid;">(Display  item)    </div>
    // var3 is what I want to be able to pull out at the top level
</div>


<div ng-repeat="thisObj in myArray | orderBy:'order' track by thisObj.itemid" 
    ng-switch on="thisObj.type_id" 
    ng-if="thisObj.content.parentid==thisItem.itemid" 
    class="subSection" >


    <div ng-switch-when="1">
        <my-directive var1="{{var1}}"
                         var2="var2"
                         var3="var3">
        </my-directive>
    </div>

</div>

(显示项目)
//var3是我希望在顶级水平上能够做到的

Hi@JoshuaFoxworth描述令人困惑,请您通过一些样本数据详细解释一下。因此,我可能是无意中解决了这个问题。我已经设置了要传递的项的初始值为空对象。显然,这不起作用,而且仍然存在索引问题。在我正确填充变量后,它开始工作。是这样吗?空对象还不够吗?
<div>
    <div ng-click="var3=thisItem.itemid;">(Display  item)    </div>
    // var3 is what I want to be able to pull out at the top level
</div>


<div ng-repeat="thisObj in myArray | orderBy:'order' track by thisObj.itemid" 
    ng-switch on="thisObj.type_id" 
    ng-if="thisObj.content.parentid==thisItem.itemid" 
    class="subSection" >


    <div ng-switch-when="1">
        <my-directive var1="{{var1}}"
                         var2="var2"
                         var3="var3">
        </my-directive>
    </div>

</div>