Javascript 在angulajrs中对变量进行迭代时编辑变量
我得到一个错误,说我达到了10美元。其他问题,比如,告诉我这是因为我在迭代一个变量时改变了它。问题是,我正在制作一个界面,在这个界面中,这将非常有用。我的代码目前看起来像这样Javascript 在angulajrs中对变量进行迭代时编辑变量,javascript,angularjs,Javascript,Angularjs,我得到一个错误,说我达到了10美元。其他问题,比如,告诉我这是因为我在迭代一个变量时改变了它。问题是,我正在制作一个界面,在这个界面中,这将非常有用。我的代码目前看起来像这样 <div ng-repeat="(index, trigger) in triggers" ng-click="select(index)"> <strong ng-bind="trigger.name></strong> <div ng-show="selecte
<div ng-repeat="(index, trigger) in triggers" ng-click="select(index)">
<strong ng-bind="trigger.name></strong>
<div ng-show="selected == index" class="span12">
<h5>edit properties</h5>
<div ng-repeat="property in getTriggerProps(trigger.type) ">
<div ng-bind="property.name"></div>
<div ng-switch on="property.name">
<input type="text" ng-switch-when="'text'" ng-model="trigger[property.name]">
<select type="select" ng-switch-when="'select'" ng-model="trigger[property.name]" ng-options="possible for possible in property.options">
</select>
</div>
</div> </div>
</div>
因此,更改迭代对象不是问题。ng repeat的工作方式是,它用一个类似于唯一ID的hashKey
标记对象,因此它知道它们是同一个实例。仅仅添加属性不会破坏这一点
我认为您的问题可能是您正在迭代新创建的对象?不确定getTriggerProps
做什么,但如果它每次调用都创建新对象,那么肯定会中断。如果是这种情况,解决方案是将您自己的hashKey
属性添加到每个属性中,如果对象在概念上相同,则每次属性都相同
name
属性可能是用作散列键的好选择。因此,更改迭代对象不是问题。ng repeat的工作方式是,它用一个类似于唯一ID的hashKey
标记对象,因此它知道它们是同一个实例。仅仅添加属性不会破坏这一点
我认为您的问题可能是您正在迭代新创建的对象?不确定getTriggerProps
做什么,但如果它每次调用都创建新对象,那么肯定会中断。如果是这种情况,解决方案是将您自己的hashKey
属性添加到每个属性中,如果对象在概念上相同,则每次属性都相同
name
属性可能是用作散列键的好选择。getTriggerProps返回一个对象列表,我正在迭代该列表。object.name正确显示,因此angular在属性对象列表上正确迭代。只需调用此函数一次,即可获取列表,然后对其进行迭代。我在正在处理的页面上添加了一个链接,以防我放弃了一些重要内容,希望清理标记。getTriggerProps返回一个对象列表,我正在迭代该列表。object.name正确显示,因此angular在属性对象列表上正确迭代。它只需要调用这个函数一次就可以得到列表,然后进行迭代。我在正在处理的页面上添加了一个链接,以防我放弃了一些重要的东西,希望清理标记。