Я новичок в угловой. Я использую контроллер, чтобы захватить данные с завода, которые я населенной с $ http.get, который подключается к REST API:
videoModule.factory('myFactory', function($http){
var factory = {};
factory.getStuff = function(success, error) {
return $http({method: 'GET', url: '/api/backup'});
};
factory.postStuff = function(stuff){
};
return factory;
});
Вот мой код контроллера:
app.controller('myController', function($scope, $http, myFactory){
myFactory.getStuff().success(function(data, status, headers, config){
$scope.stuff = data;
console.log(data);
$scope.selectedStuff = function($scope, $http){
var selectedFile = data[0].File_Name;
var selectedDir = data[0].File_SubDir;
var pack = selectedDir + "/" + selectedFile;
console.log(pack);
var result = { File_Location: pack };
console.log(result);
$http.post('api/test', result).success(function(data, status, headers){
console.log("Selected Video Sent to /api/test");
});
};
}).
error(function(data, status, headers, config) {
console.log("ERROR", data, status);
});
});
Первые две строки внутри .success (function()) работают нормально - они загружают объекты JS, которые я могу использовать для привязки к моему HTML. Следующий фрагмент кода работает отлично. У моего представления есть привязка «ng-click = selectedStuff()». Когда этот элемент щелкнут, модуль регистрирует результат, объект JS {File_Location: pack} на мою консоль.
Однако я столкнулся с трудностями в следующих трех строках. Когда я пытаюсь POST этого объекта/API/тест, я получаю сообщение об ошибке в моих Девых инструментах:
TypeError: Cannot read property 'post' of undefined at k.$scope.selectedVideo.
У меня возникли проблемы выяснить, почему $ НТТР встретив как определено. Кто-нибудь сталкивался с этой проблемой раньше?