2016-11-15 57 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##

时我检查网址是否正确填写的元素。

这是我的指令

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

回答