2016-12-30 65 views
-2
$scope persons = [{"id":123, "name": "james", 
    "score": [{ 
     "mark": 60, 
     "grade": D 
    }] 
}] 

我有2個ng-repeat。從ng-repeat中的子元素獲取父項屬性

<div ng-repeat="person in persons"> 
{{person.name}} 
<span ng-repeat="scoreObj in person.score"> 
<p ng-click="something(person.id)"></p> <!-- won't work --> 
{{person.id}} // work 
</span> 
</div> 

我試圖讓person.id在子元素中,它不會工作,任何想法?

+2

這是工作,我已經檢查這個代碼 - https://開頭的jsfiddle。淨/ maciejsikora/qcvgbkfy/ –

+2

它應該。這是plnkr來證明它。 http://plnkr.co/edit/rPfMhFvdYGtewb3WQulG?p=preview – CozyAzure

+0

問題與'json' 1.' D'應該包裹在''''(qoutes)裏2.在'$ scope'之間加'.'(點) &'人' –

回答

0

它的工作原理,你的JSON應該是,

$scope.persons = [{ 
    "id": 123, 
    "name": "james", 
    "score": [{ 
     "mark": 60, 
     "grade": 'D' 
    }] 
    }] 

DEMO

var testApp= angular.module('test',[]) 
 
angular.module('test').controller('testCtrl', function($scope) { 
 
    $scope.persons = [{ 
 
    "id": 123, 
 
    "name": "james", 
 
    "score": [{ 
 
     "mark": 60, 
 
     "grade": 'D' 
 
    }] 
 
    }] 
 

 

 

 
})
<!doctype html> 
 
<html> 
 

 
<head> 
 
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script> 
 
    <script src="app.js"></script> 
 
    <script src="testCtrl.js"></script> 
 
</head> 
 

 
<body ng-app="test"> 
 
    <div ng-controller="testCtrl"> 
 
    <div ng-repeat="person in persons"> 
 
     {{person.name}} 
 
     <span ng-repeat="scoreObj in person.score"> 
 
      {{person.id}} 
 
      </span> 
 
    </div> 
 
    </div> 
 
</body> 
 

 
</html>

相關問題