Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angulajrs中对变量进行迭代时编辑变量_Javascript_Angularjs - Fatal编程技术网

Javascript 在angulajrs中对变量进行迭代时编辑变量

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

我得到一个错误,说我达到了10美元。其他问题,比如,告诉我这是因为我在迭代一个变量时改变了它。问题是,我正在制作一个界面,在这个界面中,这将非常有用。我的代码目前看起来像这样

<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在属性对象列表上正确迭代。它只需要调用这个函数一次就可以得到列表,然后进行迭代。我在正在处理的页面上添加了一个链接,以防我放弃了一些重要的东西,希望清理标记。