Я пытаюсь добавить динамический шаблон и встретить проблему с transclude.Директива Angularjs с динамическим шаблоном и transclude
Это динамическая функция шаблона:
var getTemplate = function(contentType){
var template = '<button style="cursor: pointer;">' + contentType + '<ng-transclude></ng-transclude></button>'
return template;
};
И это код для вызова динамического шаблона и обновления transclude:
element.html(getTemplate(attr.firstname));
transclude($scope.$parent, function (clone, $scope) {
element.children().append(clone);
});
Посмотрите на полный код здесь https://plnkr.co/edit/cQBeiDkEb8KwhrFWb8iR?p=preview
Посмотреть console Я вижу это уведомление: angular.js: 13920TypeError: transclude не является функцией
Результат должен быть включен: кнопка «Перейти».
Go код кнопки здесь:
<my-button firstname="John"><button style="cursor: pointer;"><i style="color: green;">Go</i></button></my-button>
Пожалуйста, помогите мне исправить это.
Это документы я использовал: docs
Большое спасибо.
включение изменилось несколько раз, так как эта статья была написана; Синтаксис с 2015 года не будет работать с более современными версиями Angular, и, скорее всего, логика не будет такой, какой вы ожидаете. Вам следует подумать над тем, что вы пытаетесь выполнить, и задать вопрос о том, как выполнить свою задачу, а не как решить ошибку из устаревшей статьи; Если, конечно, вы не используете * точно такую же * версию угловатой, как в рассматриваемой статье, которая, вероятно, не является отличной идеей ... – Claies