2016-11-08 3 views
0

Я использую ionic v1 и пытаюсь создать список и его собственные детали, но когда я нажимаю на список элементов, подробный вид не отображает данные выбранного элемента.master detail in ionic using json data

завод

.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

Если вы не используете какой-либо веб-сервер и просто проверяете его с файлом: //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