Json AngularJS:只加载一次数据,并在所有路由上保持数据的持久性

Json AngularJS:只加载一次数据,并在所有路由上保持数据的持久性,json,angularjs,Json,Angularjs,在这个问题中,prawn写到JSON文件只加载了一次,但我做了一个测试,当我回到那个路径时,它会再次加载 我做错了什么,还是我误解了什么 这是我的扑克牌: 在userService中,您需要添加一些逻辑来检查是否已经发出了$http请求。Resolve将在每次访问状态时调用userService.loadData(),而不是在每次页面加载时调用一次 var defer = false; function _loadData() { if(!defer) { defer

在这个问题中,prawn写到JSON文件只加载了一次,但我做了一个测试,当我回到那个路径时,它会再次加载

我做错了什么,还是我误解了什么

这是我的扑克牌:


在userService中,您需要添加一些逻辑来检查是否已经发出了$http请求。Resolve将在每次访问状态时调用userService.loadData(),而不是在每次页面加载时调用一次

var defer = false;

function _loadData() {
    if(!defer) {
        defer = $q.defer();
        $http.get('user.json').success(function (data) {
            _data = data;
            console.log("user.json loaded");
            defer.resolve(data);
        });
    }
    return defer.promise;
}
var defer = false;

function _loadData() {
    if(!defer) {
        defer = $q.defer();
        $http.get('user.json').success(function (data) {
            _data = data;
            console.log("user.json loaded");
            defer.resolve(data);
        });
    }
    return defer.promise;
}