假设我有一个浏览页面和一个详细信息页面。我也有浏览控制器和细节控制器。浏览页面显示人员列表。当用户单击人员链接时,我将person.id
作为查询字符串参数传递到详细信息页面。这里一切都很好。
现在,我有另一个视图,其中浏览和详细信息应该在同一页面中。如何将person.id
一个 div(with ng-controller='BrowseCtrl'
)传递给另一个 div(with ng-controller='DetailCtrl'
)?
目标是使控制器尽可能通用。
function BrowseCtrl($scope) {
$scope.persons = db.getPersons();
$scope.getPerson = function (personId) {
$location.path('/person').search({
id: personId;
});
};
}
function DetailCtrl($scope, $location) {
$scope.person = db.getPerson($routeParams.id);
}
//singlepage.html
<div ng-controller="BrowseCtrl">
<ul id="thumbList">
<li ng-repeat="person in persons">
<img ng-src="{{person.photo}}" ng-click="getPerson(person.id)"/>
</li>
</ul>
</div>
<div ng-controller="DetailCtrl">
Name: {{person.name}}
</div>