Javascript 将函数添加到DOM-AngularJS后将其绑定到元素

Javascript 将函数添加到DOM-AngularJS后将其绑定到元素,javascript,jquery,angularjs,frameworks,Javascript,Jquery,Angularjs,Frameworks,我正在AngularJS中构建小商店应用程序。 我在指令中将产品添加到篮子中,如下所示: app.directive('cart', function () { return { restrict: 'E', controller: 'CartController', templateUrl: '/templates/cart.html', link: function (scope, element, attrs) { scope.add_pr

我正在AngularJS中构建小商店应用程序。 我在指令中将产品添加到篮子中,如下所示:

app.directive('cart', function () {
  return {
    restrict: 'E',
    controller: 'CartController',
    templateUrl: '/templates/cart.html',
    link: function (scope, element, attrs) { 
      scope.add_product_to_cart = function (id) {
        //show cart element
        if (document.getElementsByClassName('cart')[0].style.display == "")
          document.getElementsByClassName('cart')[0].style.display = "block";
        //find products that match id
        for (var i = 0; i < products.length; i++) {
          if (products[i].productId == id) {
            //check if product is already in cart
            var product_in_cart = false;
            for (var j = 0; j < scope.products.length; j++) {
              if (scope.products[j].productId == id) {
                product_in_cart = j;
                break;
              }
            }
            if (product_in_cart === false) {
              scope.products.push({
                productId: products[i].productId,
                title: products[i].title,
                price: products[i].price,
                imageUrl: products[i].imageUrl,
                categoryId: products[i].categoryId,
                count: 1
              }); 
            } else
              scope.products[j].count++;

          }
        }
      }

      scope.delete_product = function (id) {
        for (var i = 0; i < scope.products.length; i++) {
          if (id == scope.products[i].productId) {
            if (scope.products[i].count == 1) {
              scope.products.splice(i, 1);    
            } else {
              scope.products.count -= 1;  
            }
          }
        }   
      }

    }
  };
});
app.directive('cart',function(){
返回{
限制:'E',
控制器:“CartController”,
templateUrl:“/templates/cart.html”,
链接:函数(作用域、元素、属性){
scope.add_product_to_cart=函数(id){
//显示购物车元素
if(document.getElementsByClassName('cart')[0].style.display==“”)
document.getElementsByClassName('cart')[0].style.display=“block”;
//查找与id匹配的产品
对于(变量i=0;i
我无法执行
scope.delete_product
函数,因为它给了我“Error:[$parse:syntax]”错误

我的模板如下所示:
{{delete_product}}


如何在DOM更新后将
范围.删除产品
绑定到元素?

ng click
已经使用了一个表达式,所以只需使用
删除产品(product.productId)
现在它给出
类型错误:v2.删除产品不是一个函数
错误。