2013-12-18 56 views
0

嘿家伙我是新角,我不是很熟练与JavaScript。这个设置可以很好的引入json数据,但是当我更改对象中的某些属性时,它们会在我更改视图并重新加载控制器时重置。任何帮助或指导如何解决这个问题将不胜感激。跨控制器服务角json数据服务

app.controller('MainCtrl', function ($scope, $location, Quiz) { 
    $scope.quiz = {}; 

    Quiz.getQuestions(function(data) { 
     $scope.quiz = data; 
    }); 
}); 

app.service('Quiz', function($http) { 
    this.getQuestions = function(callback) { 
    $http.get('questions/questions.json').success(function(data) { 
     if (callback) {callback(data);} 
     return data; 
    }); 
    }; 
}); 
+0

实例共享跨控制器/持久化数据: http://stackoverflow.com/questions/11112608/angularjs-where-to-put-model-data -and行为 –

回答

0

是否$http GET请求得到重复后续调用getQuestions()覆盖对象?如果是这样,也许是如何使用服务

app.service('Quiz', function($http) { 
    var _data; 
    this.getQuestions = function(callback) { 
    if (_data) { 
     callback(_data); 
    } 
    $http.get('questions/questions.json').success(function(data) { 
     _data = data; 
     if (callback) {callback(data);} 
     return data; 
    }); 
    }; 
});