<li ng-repeat="doc in order.docs" class="doc">
<div class="row">
<div class="col-md-10">
<a href="#/metal/id={{doc.id}}" ng-click="getDoc(doc.id, doc.type)">{{doc.name}}</a>
</div>
<div class="col-md-1">
<button class="btn btn-xs btn-danger" ng-click="removeDoc(doc.id)"><span class="glyphicon glyphicon-remove"></span></button>
</div>
</div>
</li>
service('Doc', function($http,$location) {
$http(
{
method: 'POST',
url: '/erp/documents/getDocument',
data:{
doc:id
}
}
).
success(function(data, status, headers, config) {
return data;
}).
error(function(data, status, headers, config) {
});
})
app.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', {
templateUrl: '/makeup/empty.html',
controller: 'DefaultCtrl'
});
$routeProvider.when('/metal/:id', {
templateUrl: '/makeup/metal.html',
controller: 'DocumentsCtrl'
});
$routeProvider.otherwise({
redirectTo: '/'
});
}])
angular.module('app').factory('doc', [
'$http',
function ($http) {
return function (id) {
return $http.get(...).then(function (response) {
return response.data;
});
}
}
]);
angular.module('app').controller('MyCtrl', [
'$scope', 'doc',
function ($scope, doc) {
$scope.getDoc = function(id) {
doc(id).then(function (yourDocWillBeHere) {
}
}
}
]);
// Это контроллер, который будет привязан к содержимому ng-view после перехода по соотв. url
// Внедряемая зависимость document возникает в момент разрешения зависимостей при активации роута
app.controller('DocumentController', ['$scope','document', function($scope, doc){
$scope.document = doc;
}]);
app.config(['$routeProvider',, function($routeProvider) {
$routeProvider.when('/metal/:type/:id', {
templateUrl: '/makeup/metal.html',
controller: 'DocumentController',
// Данная секция отвечает за разрешение зависимостей роута. Объекты из этой секции внедряются в указанный контроллер с соотв. именами
resolve: {
document: ['doc','$route', function(doc,$route){
// Мы вытаскиваем из роута параметры id и type, запрашиваем у фабрики соотв. объект.
// Фабрика в ответ возвращает нам promise, который мы возвращаем как зависимость, которая должна быть разрешена, и инициирует http-запрос. После получения объекта фабрика разрешает promise, инстанцируется контроллер с внедрением полученного объекта и отображается шаблон
return doc($route.current.params.id, $route.current.params.type);
}]
}
});