Хорошо, я пытаюсь передать постоянное значение AngularJS в соответствии с Директивой. Я делаю это, чтобы иметь несколько постоянных значений, которые я могу изменить позже в процессе разработки.AngularJS, проходящие константы в атрибуте
Константы определены как следует:
TLKApp.constant("NOBILITY",
{
"Soldier": 0,
"Knight": 1,
"Duke": 2
});
TLKApp.constant("NOBILITY_LEVEL_SOLDIER", 0);
TLKApp.constant("NOBILITY_LEVEL_KNIGHT", 1);
TLKApp.constant("NOBILITY_LEVEL_DUKE", 2);
Это вдвое больше, потому что я хотел либо дело работать, но никто не делает.
директива:
TLKApp.directive("foldOutMenuDirective", [ '$rootScope', '$parse', function($rootScope, $parse) {
return {
scope: {
title: '@',
items: '=',
nobility: '=?'
},
templateUrl: 'HTML/Directives/FoldOutMenu.html',
link: function(scope, elm, attrs, ctrl) {
console.log("Nobility on attribute: "+$parse(attrs.nobility)(scope.$parent));
}
};
}]);
HTML-:
<fold-out-menu-directive title="Account" items="AccountMenuItems" nobility="NOBILITY_LEVEL_SOLDIER"></fold-out-menu-directive>
NOBILITY_LEVEL_SOLDIER будет напечатано как определено. Мой вопрос: как передать эту константу в директиву, пока она отображается как правильное значение? Кроме того, я предпочел бы использовать NOBILITY.Soldier над NOBILITY_LEVEL_SOLDIER, но это, похоже, еще больше беспокоит.
Моя единственная работа вокруг до сих пор было так:
TLKApp.controller('NavigationMenuCtrl', ['$scope','NOBILITY','NOBILITY_LEVEL_SOLDIER', function($scope, NOBILITY, NOBILITY_LEVEL_SOLDIER) {
$scope.NobilitySoldier = NOBILITY_LEVEL_SOLDIER;
И в HTML обратитесь к NobilitySoldier, но это поражения цели одной константой.
Я хотел бы поблагодарить. Я очень расстроился, что не смог найти решение, и это работает отлично. AngularJS довольно большой, чтобы попасть. – JelleFm