我正在尝试从 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);
}
}
};
}])
但是我没有找到足够的例子提前感谢您的建议。