angularjs模板缓存延迟加载权限

时间:2014-02-18 15:47:49

标签: angularjs

我没有使用Angular视图或路由器。只需ng-include。我能够使用ng-include延迟加载(使用虚拟div初始化模板)并在从服务器获取模板并更新templateCache后设置和更新它。 问题是大多数时间模板没有更新。 此外,如果用户有权限,我希望允许用户查看模板。将在服务器上检查权限。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我从以下link

中找到了以下解决方案

// CacheTemplate buster。         //         //清除成功的路由更改(请参阅下文)上一页模板         //来自缓存,就像应用程序发送另一个请求一样         //服务器反过来有机会获取访问权限         //用户/会话         $ scope.tC = $ templateCache;

    $rootScope.$on('$routeChangeSuccess', function(event, next, current) {
        switch( $location.path() ) {
            case '/login' :
                $window.document.title = "LOGIN";
                $scope.loggedIn = false;
                break;
            case '/home' :
                $window.document.title = "HOME";
                $scope.loggedIn = true;
                break;
            default:
                $window.document.title = "";
                $scope.loggedIn = false;
                break;
        };

        // clear cache to trigger reloading
        // (server decides if has permission or not)
        if (current && current.$route) {
            if ($scope.tC.get(current.$route.templateUrl)) {
                $scope.tC.remove(current.$route.templateUrl);
            };
        };
    });
   ...