我正在尝试使用他们的数据下载JSON,但由于某种原因无法运行,整个应用程序都会中断。而且我想在Pull刷新JSON刷新的所有信息时。
这是Services.js:
angular.module('starter.services', [])
.factory('NotasService', function($resource,$http) {
return {
all: function() {
var items_nota;
$http.get('http://betamediagroup.net/apps/canalDiez/estructura.json ')
.success(function(data) {
items_nota = data.datos;
});
return items_nota;
},
get: function(notaId) {
// Simple index lookup
return items_nota[notaId];
}
}
});
这是Controller.js
angular.module('starter.controllers', [])
.controller('ActulidadCtrl', function($scope, NotasService, $timeout) {
$scope.items_nota = NotasService.all();
$scope.isActualidad = function(items_nota) {
return items_nota.category === "ahora";
};
//Pull tu refresh
$scope.doRefresh = function() {
console.log('Actualizando!');
$timeout( function() {
$scope.items_nota.push({
id: 3,
titulo: 'Balcarce: Marangoni en los 70 años del Banco Provincia.',
fecha: '03 nov 09.30',
foto: 'actualidad_marangoni'
});
$scope.items_nota.push({
id: 4,
titulo: 'Temporal: el Gobierno Provincial asiste a los daminficados.',
fecha: '03 nov 09.00',
foto: 'actualidad_temporal'
});
//Stop the ion-refresher from spinning
$scope.$broadcast('scroll.refreshComplete');
});
};
})
这是模板视图:
<ion-view>
<ion-nav-buttons side="left">
<button menu-toggle="left" class="button button-icon icon ion-navicon"></button>>
</ion-nav-buttons>
<ion-content class="has-header">
<ion-refresher on-refresh="doRefresh()" pulling-text="Tire para actualizar..." refreshing-text="Actualizando!" refreshing-icon="ion-loading-c">
</ion-refresher>
<ion-list>
<ion-item ng-repeat="item in items_nota" href="#/app/nota/{{item.id}}">
<img src="img/{{item.foto}}">
<h2>{{item.titulo}}</h2>
<p >{{item.fecha}}</p>
</ion-item>
</ion-list>
</ion-content>
</ion-view>
UPDATE:解决了JSON结构中的问题
答案 0 :(得分:1)
试试这个
.factory('NotasService', function($resource,$http) {
var items_nota;
$http.get('http://betamediagroup.net/apps/canalDiez/estructura.json ')
.success(function(respuesta) {
items_nota = respuesta.data;
});
};
return {
all: function() {
return items_nota;
},
get: function(notaId) {
// Simple index lookup
return items_nota[notaId];
}
}
});
如果您未在服务中传递$http
,应用程序会中断的原因
答案 1 :(得分:1)
1-你有一个小错字
2-你必须将$ http传递给你的工厂
3-您的items_nota应该等于数据dotas数组而不是请求数据
.factory('NotasService', function($resource,$http) {
return {
all: function() {
var items_nota;
$http.get('http://betamediagroup.net/apps/canalDiez/estructura.json ')
.success(function(data) {
items_nota = data.datos;
});
return items_nota;
},
get: function(notaId) {
// Simple index lookup
return items_nota[notaId];
}
}
});