首页 > 解决方案 > AngularJS 的自定义属性指令

问题描述

在我的 html 中,我添加了如下指令

<html ng-app="xxxxx" bm-app="auth">

指示:

angular.module('xxxxx').directive('bmApp', bmApp);   

bmApp.$inject = ['$document', '$log', 'matchmedia', 'AuthenticatedSession', 'bmUser'];

function bmApp($document, $log, matchmedia, authenticatedSession, bmUser) {

    return {
        restrict: 'EA',
        controller: [function () { }],
        scope: true,
        link: function (scope, element, attrs) {
            var html = $document.find('html');

            if (attrs.bmApp !== 'pre-auth') {
                /* load intrinsic post-auth objects */
                authenticatedSession.load().then(function(data) {
                    $log.log('session:', { meta: data.meta, bindings: data.bindings });
                }).finally(function () {                        
                 html.addClass('bm-resolved');
                });
                bmUser.load();
            }                
        }
    };
}

我只想验证用户是否经过身份验证。如果不是,我需要使用自定义指令将用户重定向到登录页面。我是AngularJs的新手,请有人帮我解决这个问题。

标签: angularjsangularjs-directive

解决方案


推荐阅读