Angularjs 使用ng repeat在自定义指令中进行双向绑定
我基本上有一个作为对象数组存储的项目列表。其中一些物品是其他物品的“孩子”。这由每个对象中的“parentid”设置表示。这只意味着我希望在父对象中以嵌套列表的形式显示子对象 因此,我首先遍历数组,找到一个没有父元素的数组。当我找到它时,我调用一个接受该ID的指令,然后再次遍历主数组,找到parentID与所讨论的项相同的任何项并显示它。可以有多个级别的子级,以便递归调用该指令 这可以很好地工作并显示所有子项,但我希望能够选择这些项中的任何一项,并在顶层查看该ID或对象。这是行不通的。我通过双向绑定将一个变量传递到每个指令中,但没有父级被更新。我理解原始问题,我正在传递一个对象,但这不起作用。我想我需要对重复做些什么,但我不确定是什么。我不认为这是个问题 在下面的演示中,每当我单击一个项目时,我都需要显示更新的var3变量 初始HTMLAngularjs 使用ng repeat在自定义指令中进行双向绑定,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我基本上有一个作为对象数组存储的项目列表。其中一些物品是其他物品的“孩子”。这由每个对象中的“parentid”设置表示。这只意味着我希望在父对象中以嵌套列表的形式显示子对象 因此,我首先遍历数组,找到一个没有父元素的数组。当我找到它时,我调用一个接受该ID的指令,然后再次遍历主数组,找到parentID与所讨论的项相同的任何项并显示它。可以有多个级别的子级,以便递归调用该指令 这可以很好地工作并显示所有子项,但我希望能够选择这些项中的任何一项,并在顶层查看该ID或对象。这是行不通的。我通过双向
<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>