1

我正在尝试从 Angular 1.4 迁移到 Angular 1.5 组件,然后迁移到打字稿:

我想使用 Angular 1.5 组件,就像她是我的代码一样,它是不完整的,但是这个想法,背后

angular.
module('cool.core').
component('hasAnyRole', {
    template: 'Hello, {{$ctrl.user}}!',
    controller: function GreetUserController() {
        this.user = 'world';
    }
})

而不是 Angular-directive-link:

angular.module('cool.core')
    .directive('hasAnyRole', ['Principal', function (Principal) {
        return {
            restrict: 'A',
            link: function (scope, element, attrs) {
                var roles = attrs.hasAnyRole.replace(/\s+/g, '').split(',');

                var setVisible = function () {
                    element.removeClass('hidden');
                };
                var setHidden = function () {
                    element.addClass('hidden');
                };

                var defineVisibility = function (reset) {
                    var result;
                    if (reset) {
                        setVisible();
                    }

                    result = Principal.isInAnyRole(roles);
                    if (result) {
                        setVisible();
                    } else {
                        setHidden();
                    }
                };

                if (roles.length > 0) {
                    defineVisibility(true);
                }
            }
        };
    }])

但是我没有找到足够的例子提前感谢您的建议。

4

0 回答 0