2014-04-29 2 views
1

데이터가 객체 인 속성을 어떻게 가질 수 있습니까? 나는 두 개의 인덱스에 데이터를 설정하려면 :AngularJS HTML 데이터 객체

<div ng-repeat="shift in schedule.shifts"> 
    <div ng-repeat="tasks in shift" data-drag="{'taskIndex' : $index, 'shiftIndex' : $parent.$index}"></div> 
</div> 

나는 기본적으로 data-drag$index$parent.$index을 모두 포함하도록 설정하고자합니다. 위의 코드는 작동하지 않습니다!

감사

편집

그래서 문제는 위의 구문이 아니다.

// Grab the object data 
var dragData = ""; 
scope.$watch(attrs.drag, function (newValue) { 
     dragData = newValue; 
}); 

$watch 반환이 오류 : 나는 간단히 data-drag="$index"를 할당하면, 모든 괜찮

Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!

그것은 내가 가진이 다른 라인에서 온다. 왜 내가 물건을 통과시킬 수없는거야?

왜?

+0

어떻게하지 코드를 사용할 수 있습니까? 데이터 드래그에서 인덱스를 사용하여 수행하려는 작업은 무엇입니까? –

+0

플 런커를 게시하고 코드의 어느 부분이 작동하지 않는지 나타낼 수 있습니까? – ryeballar

+0

'data-drag = "{ 'taskIndex : $ index,'shiftIndex ': $ parent. $ index}"'는 오류를 반환합니다! 문법이 잘못되었습니다 ...'$ digest()'가 10 번 시도한 후에 중단되었습니다. – Kousha

답변

0

, 당신은 당신의 data-drag 속성 정의의 내부에 중괄호를 포장해야합니다

<div ng-repeat="shift in schedule.shifts"> 
    <div ng-repeat="tasks in shift" data-drag="{'taskIndex' : {{$index}}, 'shiftIndex' : {{$parent.$index}}}"></div> 
</div> 
0

data-drag이 무엇인지 모르지만 ng-init을 사용하여 내부 및 외부 색인이있는 개체를 만들 수 있습니다. $index$parent.$index을 결합하기 위해

<div ng-repeat="shift in schedule.shifts" ng-init="shiftIndex = $index"> 
    <div ng-repeat="tasks in shift" 
     ng-init="myVar = {taskIndex: $index, shiftIndex: shiftIndex}" 
     data-drag="myVar"> 
    </div> 
</div> 

http://jsfiddle.net/6DuU9/

+0

문제는'schedule.shifts'와'shifts.tasks'가 동적으로 변하기 때문에'$ index'와'$ parent. $ index'도 바뀌어야한다는 것입니다. 'ng-init'을 사용하면 배열이 바뀔 때마다 myVar를 재 할당해야합니다. 데이터 색인에 직접 색인을 전달할 수 있다면 – Kousha

관련 문제