2016-11-08 41 views
0

我正在使用ionic v1并尝试创建列表及其自己的细节,但是当我单击项目列表时,详细视图不显示所选项目的数据。使用json数据的离子的主细节

.factory('Eventos', function($http){ 

var eventos = []; 

return { 
    all : function() { 
     return $http.get("eventos.json").then(function(response) { 
      eventos = response; 
      return eventos; 
     }); 
    }, 
    get : function(eventoId) {  
     for(i = 0; i < eventos.length; i++) { 
      if(eventos[i].id === eventoId){ 
       return eventos[i]; 
      } 
     } 
     return null; 
    } 
}}); 

控制器

.controller('EventosCtrl', function($scope, $stateParams, Eventos) { 

    Eventos.all().then(function(eventos) { 
     $scope.eventos = eventos.data; 
    }); 
}) 

.controller('EventoCtrl', function($scope, $stateParams, Eventos) { 

    $scope.evento = Eventos.get($stateParams.eventoId); 
} 

但是,如果使用在这部作品中的代码的静态数据,但我不知道什么是错在这里。

回答

0

如果您没有运行任何类型的web服务器,只需使用file://index.html进行测试,那么您可能会遇到同源策略问题。

许多浏览器都不允许本地托管文件访问其他本地托管文件。

尝试引用数据为对象

var obj = {list:null}; 

$http.get('data.json').success(function(data) { 
    // you can do some processing here 
    obj.list = data; 
});  

return obj; 
+0

仍然是相同的,只有当我显示列表中的确定,但是当我点击一个项目 – user3342679

+0

你可以做一些错误更新你的问题不显示详细内容日志或有助于诊断问题的内容。启动浏览器控制台,查看当您单击列表时发生了什么。 –

+0

我解决了!添加推迟和$ q谢谢你的帮助 – user3342679