#angularjs #angularjs-directive #angularjs-ng-repeat
#angularjs #angularjs-директива #angularjs-ng-repeat
Вопрос:
Это странно. Я новичок в angular, учусь только неделю или около того.
У меня есть две директивы.
Первый:
app.directive('block', function() {
return {
restrict: 'E',
replace: true,
scope:true,
link: function(scope, element, attrs) {
scope.blockCss = function() {
return attrs.block;
}
scope.blockSize = function() {
return attrs.blocksize;
}
scope.category = function() {
return attrs.category;
}
},
templateUrl: function(elem,attrs) {
return attrs.block '.html';
}
}
});
Это отлично работает с элементом, называемым:
<block blocksize="3" category="foo1" blockcss="bar1"></block>
Теперь самое интересное.
Идентичная директива, но изменяющаяся с templateUrl на Template, чтобы иметь что-то более динамичное:
app.directive('block', function() {
return {
restrict: 'E',
replace: true,
scope:true,
link: function(scope, element, attrs) {
scope.blockCss = function() {
return attrs.block;
}
scope.blockSize = function() {
return attrs.blocksize;
}
scope.category = function() {
return attrs.category;
}
},
template: function(elem,attrs) {
return '<div class="blocksize{{blockSize()}} {{blockCss()}}" ng-repeat="item in items | orderByPriority | filter:{category:category()} | orderBy:myorder" ng-include src="'{{blockCss()}}.html'"></div>';
}
}
});
Возможно, я идиот, но если бы кто-нибудь мог указать мне, чего мне не хватает, я был бы признателен.
В дополнение к вышесказанному, я хотел бы иметь возможность ссылаться на атрибуты элемента (например, элемент ‘block’) внутри шаблона или URL-адреса шаблона — вот почему у меня есть определения области видимости (которые должны быть дочерними элементами области видимости).
Действительно с нетерпением жду любого ответа.
Комментарии:
1. я не думаю, что вы можете использовать template как функцию, и в вашем случае это в любом случае не имеет смысла, поэтому вам лучше использовать только template:»string»
2. Хорошо, большое спасибо. Это немного помогло. Однако я все еще не могу получить атрибут корневого элемента в шаблон ng-include. Как мне это сделать?
3. @DayanMorenoLeon на самом деле вы можете использовать функцию для шаблона, функции просто нужно вернуть строку. Но я все еще не понимаю, что хочет сделать OP
4. эй, вы можете указать мне на эту часть документов? я не видел, чтобы эта функциональность была документирована, и это было бы довольно интересно, вы можете делать с ней интересные вещи