Задав этот вопрос после того, как вы не сделали другого ответа, я нашел здесь работу.
Я пытаюсь сделать очень простое соединение Client/Server.
На моем сервере (Django) У меня есть представление, которое возвращает JSON объектов. В моем клиенте у меня есть $ http.get(), который должен извлекать эти данные.
Проблема начинается, когда я пытаюсь придерживаться этих данных. Данные делают путь к клиенту в порядке, но уходят после завершения функции success().
Любая помощь будет оценена по достоинству.
app.js:
angular.module('photoComments', [])
angular.module('photoComments').controller('PhotoCommentsController', function($http){
var vm = this;
vm.activePhoto = {};
vm.photos = [];
vm.setActivePhoto = setActivePhoto;
function setActivePhoto(photo) {
vm.activePhoto = photo;
}
vm.success = function(result) {
vm.photos = result.data;
}
$http.get("photos/").then(vm.success);
});
index.html
<body ng-app="photoComments" ng-controller="PhotoCommentsController as appCtrl">
<div class="container">
<div class="row">
<fieldset class="list-group-item">
<div class="col-md-2" ng-repeat="photo in appCtrl.photos">
<div>
<img ng-src="{{photo.photo_path}}" class="img-responsive" ng-click="setActivePhoto(photo)"/>
</div>
</div>
</fieldset>
</div>
</div>
<script type="text/javascript" src="/static/js/app.js"></script>
</body>
При отладке с Chrome Developer Tools, и останова функции успеха, я вижу, что данные прибыли и внешний вид ОК.
Я думаю, что вам не хватает 'вар Vm = это;' –
затем() принимает функцию обратного вызова, вы не может передать ему утверждение. $ http.get ("photos /"), затем (function (response) {}); –
@MohammadSepahvand '$ scope.success' является функцией (она хранится в этой переменной прямо над использованием), поэтому я сомневаюсь, что это проблема. –