내가 @Nicolas 제안에 따라 지시문을 사용합니다. 이것을 @Andrew가 제안한 것과 결합하면 이런 식으로 할 수 있습니다.
컨트롤러 :
.controller('MainCtrl', function ($scope, $http) {
$scope.items = [
{id: 'a', subItems: []},
{id: 'b', subItems: []}
];
$scope.getSubItems = function(id) {
$http.get('/sub-items/' + id)
.then(function() {
$scope.items.subItems = $scope.items.subItems.push(response.data);
});
}
});
보기 :
<div ng-repeat="item in items">
<a ng-click="getSubItems(item)">{{item.id}}</a>
<list sub-items="item.subItems"></list>
</div>
지침 :
페이지에 라우팅 구현을위한 좋은 경기를 같은 소리
.directive('list', function() {
return {
restrict: 'E',
scope: {
subItems: '=subItems'
},
template: '<ul>' +
'<li ng-repeat="subItem in subItems">{{subItem.id}}</li>' +
'</ul>'
};
});
. Angular의 공식 자습서 (http://docs.angularjs.org/tutorial/step_07) 및이 설명서 항목의이 부분을 살펴보십시오. http://docs.angularjs.org/api/ng.directive:ngView – mirrormx
예. 가장 좋은 방법 인 것 같습니다. 나는 처음에는 노선을 사용하지 않을 것을 생각했지만 이것은 가능할 것입니다. 내가 이해할 수없는 한 가지는 : 어떻게 부분 뷰를 다른 부분 뷰에 "추가"합니까? – user1121487
'ng-include' 지시어를보십시오 : http://docs.angularjs.org/api/ng.directive:ngInclude. 그것으로'ng-include'를 가질 수있는 partials를 포함 할 수 있습니다 - 부분적으로 partials를 갖는 등등. 그리고 부분 적으로 소스를 변경할 수 있습니다 (URL을 문자열 리터럴이 아닌 객체 참조로 설정하면 포함 된 문서 항목의 예에 표시됩니다). – mirrormx