Мое приложение в настоящее время состоит из 3 небольших частей службы, которые делают http
звонок в .json
файл, который получает данные из службы и отправляет их на просмотр. Когда я жестко кодировал данные в своем сервисе, он работал хорошо.Не удалось привязать данные, отправленные с контроллера для просмотра angular.js
Когда я заменил данные жесткого кодирования на файл .json
, он перестает работать, однако я зарегистрировал его в контроллере и убедился, что данные запрашиваются правильно из файла .json
.
здесь простой контроллер:
(function(){
'user strict';
angular.module('myApp').controller('itemsCtrl',['$state','myappApi', itemsCtrl]);
//constructor function
function itemsCtrl($state, myappApi){
var vm = this;
myappApi.getItems(function(data){
vm.items = data;
});
//vm.items = data;
vm.selectItem = function(id){
myappApi.setItemId(id);
$state.go("app.item-detail");
}
};
})();
Шаблон код:
<ion-view ng-controller="itemsCtrl as vm">
<ion-content class="has-header">
<div class="list">
<a class="item item-icon-right" ng-repeat="item in vm.items" ng-click="vm.selectItem(item.id)">
<div class="row">
<div class="col item-thumbnail-left">
<img ng-src="vas-images/{{item.name}}.jpg">
</div>
<div class="col col-center">
<h3 class="blue-font">{{item.name}}</h3>
<p>{{item.desc}}</p>
</div>
<div class="col col-center">
<h4 class="blue-font-alt">Price:{{item.price}}$</h4>
</div>
</div>
<i class="icon ion-chevron-right icon-accessory"></i>
</a>
</div>
</ion-content>
</ion-view>
Код сервиса:
(function(){
'user strict';
angular.module('myApp').factory('myappApi',['$http', myappApi]);
function myappApi($http){
//function to get all the items.
function getItems(callback){
$http.get("app/items/data.json")
.success(function(data){
callback(data);
});
}
//function to set the item ID.
function setItemId(itemId){
currentItemId = itemId;
}
return{
getItems: getItems,
setItemId: setItemId
};
};
})();
.json
Файл:
{
"items" : [
{"id":1005, "name":"item-one", "desc":"some text here and there", "price":100},
{"id":1006, "name":"item-two", "desc":"some text here and there", "price":500},
{"id":1007, "name":"item-three", "desc":"some text here and there", "price":600},
{"id":1008, "name":"item-four", "desc":"some text here and there", "price":50},
{"id":1009, "name":"item-five", "desc":"some text here and there", "price":20},
{"id":1010, "name":"item-six", "desc":"some text here and there", "price":660}
]
}
Обновленный plunker, все еще работает нормально ... –
я сделал обновить код в соответствии с вашим ответом, я все еще получаю данные в консоли, как и раньше, но, что я заметил, что до того, как мой список получит только один пустой элемент, теперь после обновления кода в соответствии с вашими я имею 5 пустых элементов, я имею в виду, что нет имени, ничего не начертано, просто элемент списка –
Извините, забудьте упомянуть, что я также обновляю свой шаблон с помощью вашего кода {{vm.items | json}}, и я получил все данные в формате json. просто нет данных в моем списке. –