У меня есть несколько проектов, отображаемых в divs через ng-repeat. Каждый div содержит ссылку с идентификатором проекта.Угловой JS | Передача данных на 2 разных контроллера при нажатии
В основном я хочу связать свой идентификатор проекта с ng-click, чтобы обновить завод. Это позволит мне делиться идентификатором щелкнутого проекта с другим контроллером, который будет загружать только данные деталей проекта.
Вот мои проекты просмотра:
<div ng-repeat="detail in projects.details">
<a ng-href="#!/project/project-details" ng-click="setId(detail.project_id)"><span></span></a>
</div>
Вот моя фабрика:
app.factory('getGoodIdProjectDetails', function(){
var savedId = 1; //Default à 1
return {
getId : function() {
return savedId;
},
setId:function(idGet){
savedId = idGet;
return savedId;
}
}
});
Вот мои контроллеры:
function ProjectCtrl($scope, $http, $timeout, getGoodIdProjectDetails) {
$scope.setId = function (idGet) {
$scope.idProjectDetails = getGoodIdProjectDetails.setId(idGet);
};
}
function ProjectDetailsCtrl($scope, $http, $timeout, getGoodIdProjectDetails) {
$scope.idProjectDetails = getGoodIdProjectDetails.getId();
}
На мой взгляд консоль отображается ошибка например, я не могу привязать ng-click таким образом, но когда я проверяю вид, он сортирует меня, хорошая вещь, например ng-click="setId(8)"
Я хочу, чтобы завод обновлялся с хорошим идентификатором при нажатии. Затем я хочу получить доступ к этому id в projectDetailsCtrl
, чтобы загрузить проект.
|| EDIT || : Я изменил ng-click, это отлично работает, все хорошо. Thx все
Это идеальный случай для использования состояния системы на основе маршрутизации, как угловой-ui-маршрутизатор. В этом случае ваш id будет просто stateParam или (в зависимости от вашего сервера), частью вашего URL-адреса. – mccainz