2013-06-28 2 views
1

10 달러의 다이제스트 반복에 도달했다는 오류가 나타납니다. this one과 같은 다른 질문은 변수를 반복하면서 변수를 변경하기 때문에 발생한다고 설명합니다. 문제는 내가 정말 유용 할 인터페이스를 만들고 있다는 것입니다. 내 코드는 현재 다음과 같습니다. 내 진짜 코드에서 각도를 반복하면서 변수를 편집하는 중

<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> 

는 더 많은 트위터 부트 스트랩 관련 된 div 및 클래스가 있습니다,하지만 난 명확성을 위해 그들을 밖으로 떠 났어요.

그렇다면 트리거라는 이름의 컬렉션을 반복하는 것입니다. 다른 유형의 트리거가 있으며이 트리거의 특성은`getTriggerProps '라는 범위에있는 함수에 의해 리턴됩니다.

반환 된 속성 목록을 보려면 속성 유형을 기반으로 일련의 입력을 만듭니다. 속성의 모델은 트리거 객체의 실제 속성이됩니다. 그러나 그것이 내가 가지고 있다고 생각하는 문제입니다. 트리거가있는 컬렉션을 반복하면서 트리거의 속성을 변경하려고합니다.

저는 불안정한 angularjs 1.1.5를 사용하고 있습니다. 버전이 있지만 그 기능을 가지고 놀고 싶었습니다. https://dl.dropboxusercontent.com/u/12041395/neurobot_interface_proposal.html

답변

1

그래서,에있는 개체에게 반복하는을 변경하는 것은 문제가되지 않습니다 : 내가 도울 수 일하고 있어요 전체 페이지를 보는 경우

, 여기에 공개 링크입니다. ng-repeat가 작동하는 방식은 오브젝트에 고유 ID와 같은 hashKey 태그를 붙이기 때문에 동일한 인스턴스임을 알 수 있습니다. 단지 속성을 추가해도 문제가 해결되지 않습니다.

새로 만든 객체를 반복하는 것이 문제 일 수 있다고 생각하십니까? 확실하지 무엇 getTriggerProps 않습니다,하지만 모든 호출을 새 개체를 만드는 경우, 그것은 확실히 중단됩니다. 이 경우 해결 방법은 각자 고유 한 hashKey 속성을 추가하는 것입니다.이 속성은 개체가 개념적으로 동일 할 때마다 동일하게 적용됩니다.

name 속성은 해시 키로 사용하는 것이 좋습니다.

+0

getTriggerProps는 반복되는 객체의 목록을 반환합니다. object.name이 올바르게 표시되므로 angle이 특성 오브젝트 목록에서 올바르게 반복됩니다. 이 함수를 한 번만 호출하면 목록을 가져 와서 반복 할 수 있습니다. – bigblind

+0

마크 업을 정리하기 위해 중요한 항목을 스크랩 한 경우에 대비하여 작업중인 페이지에 대한 링크를 추가했습니다. – bigblind

관련 문제