绑定角度scop作为javascript参数

时间:2017-03-08 22:05:47

标签: javascript angularjs data-binding

我想将一些动态值绑定到我的javascript函数调用..

<button type="button" class="btn btn-info pull-right" onclick="addToCart('{{i.item_name}}','{{i.price}}')">Add to Cart</button>

如何绑定onclick="addToCart('{{i.item_name}}','{{i.price}}')"

错误:

Error: [$compile:nodomevents]

3 个答案:

答案 0 :(得分:0)

angularjs使用ng-click而不是onclick

<button type="button" class="btn btn-info pull-right" ng-click="addToCart('{{i.item_name}}','{{i.price}}')">Add to Cart</button>

答案 1 :(得分:0)

我猜i来自ng-repeat?下面应该做的伎俩。

ng-click="addToCart(i.item_name, i.price)"

答案 2 :(得分:0)

解决方案1:

您可以在javascript方法中将这些动态值分配给数据属性和读取数据属性。

function addToCart(e){
   console.log(e.target.dataset);
   //{itemName:'...', itemPrice:'...'}
}

<button type="button" class="btn btn-info pull-right" data-item-name="{{i.item_name}}" data-item-price="{{i.price}}" onclick="addToCart(event)">Add to Cart</button>

解决方案2:

在控制器中编写一个方法并从那里调用你的javascript方法

 //javascript method
 function addToCart(itemName, itemPrice){
     //your logic here
 }

 //inside controller
 $scope.addToCart = function(item){
     //javascript method call
     addToCart(item.item_name, item.price);
 };

 //html
 <button type="button" class="btn btn-info pull-right" ng-click="addToCart(i)">Add to Cart</button>