2016-11-15 6 views
2

Мой HTMLПолучить HREF значение Angularjs

<a href="##product.like_url##" df-like-product class="icon-like trigger animated v-a-m" data-id="##product.id##" data-type="product" ng-class="{active:product.liked_by_user}"></a> 

Я wan't получить HREF значение в моей директиве, но каждый раз, когда я получаю имя переменной

Я получаю вернулся ##product.like_url##

когда я проверяю элемент правильно заполнен URL.

Это моя директива

df.directives.directive('dfLikeProduct', function($window) { 
    return { 
    restrict: 'A', 
    link: function(scope, element, attrs) { 
     // Props 
     var $element = $(element); 
     var $amount = $element.prev(); 
     var url = $element.attr('href'); 

     // Methods 
     var likeProduct = function(){ 
     $.post(url, function(data){ 
      if (data == 1) { 
      element.removeClass('unlike').addClass('active like'); 
      var num = parseFloat($amount.text()); 
      $amount.text(++num); 
      } else if (data == -1) { 
      element.removeClass('active like').addClass('unlike'); 
      var num = parseFloat($amount.text()); 
      $amount.text(--num); 
      } 
     }).fail(function(){ 
      $window.location.href = '/login'; 
     }); 
     } 


     // Listeners 
     $element.on('click', function(e){ 
     e.preventDefault(); 
     console.log(url); 
     //likeProduct(); 
     }); 


     // Init 

    } 
    }; 
}); 
+0

что вы пытаетесь достичь !! прочитайте свой пост, вы думаете, что он передает то, что на самом деле хочет? – Aravind

+0

Я не оцениваю значение href в моей директиве, поэтому я могу сделать запрос POST – Janvdt

+0

, вы не можете использовать переменные Laravel внутри угловой переменной; Один - серверный, другой - клиентский. Если угловая сгенерированная ссылка, она никогда не будет отправлена ​​на ваш сервер для оценки и замены Laravel. наоборот, если переменная должна быть заменена Laravel, угловая все еще будет видеть значение до того, как сервер выполнит замену. – Claies

ответ

1

Сначала вам нужно использовать ng-href вместо просто href.

https://docs.angularjs.org/api/ng/directive/ngHref

И вы можете получить это с помощью $link.attr('ng-href');

Вот еще одна полезная ссылка: https://docs.angularjs.org/api/ng/function/angular.element

+0

Oke и чем я хочу значение от ng-href? – Janvdt

+0

Я отредактировал ответ –

+0

, когда я делаю это, я просто получаю ## product.like_url ##, а не фактическую ссылку – Janvdt

Смежные вопросы