Допустим, у меня есть страница просмотра и страница сведений. У меня также есть контроллер просмотра и контроллер деталей. На странице просмотра отображается список лиц. Когда пользователь щелкает ссылку человека, я передаю person.id
на страницу сведений в качестве параметра строки запроса. Здесь все хорошо.
Теперь у меня есть другое представление, в котором обзор и детали должны быть на одной странице. Как передать person.id
из одного div (с ng-controller='BrowseCtrl'
) в другой div (с 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>