2016-06-02 1 views
0

У меня есть некоторые HTML, который выглядит как:AngularJS основных относительно содержания замены в директиве

<custom-logo> 
    <div> 
     <img src="logo.png"> 
    </div> 
    <custom-logo-after> 
    </custom-logo-after> 
</custom-logo> 

Я пытаюсь понять, как я могу изменить директиву на заказ логотипа в угловой JS включить ссылку по всей img, поэтому я мог бы добавить динамический адрес ссылки в Angular JS.

+0

показать нам директиву пожалуйста –

+0

я не уверен, что вы имеете в виду. Извините, очень новичок в этом. – AndrewCoke

+1

У вас есть директива под названием 'custom-logo'. У нас нет этой директивы, поэтому нам нужно увидеть ее код и шаблон, чтобы помочь –

ответ

0

Вы можете сделать это, как этот Link to fiddle

angular.module('directives', []).directive('customLogo', 
    function() { 
     return { 
     restrict: 'E', 
     link: function($scope, element, attrs) { 
     var image = element.find('img'); 
     image.attr("src","blabla.png"); 
     } 
     }; 
    } 
); 
angular.module('myApp', ['directives']); 


<div ng-app="myApp"> 
    <custom-logo> 
     <div> 
     <img src="logo.png"> 
     </div> 
    </custom-logo> 

</div> 

отмечают, что «blabla.png» может быть ссылка на файл изображения на Вашей области. так, например $scope.image = "src/images/blabla.png" , а затем заменить

image.attr("src",$scope.image); 
+0

К сожалению, я не могу редактировать существующий html, но могу запускать пользовательские угловые js так ищет способ изменить существующий контент – AndrewCoke

3

Вы можете использовать ng-transclude сделать это

.directive('customLogo', function() { 
    return { 
     transclude: true, 
     template: '<a href="http://www.google.com"><ng-transclude></ng-transclude></a>' 
    } 
}); 
Смежные вопросы