Javascript 以动态数据为参数的敲除onClick
我有一个addToCart函数,我想利用它,它不在我的viewModel中 在我的视图模型中,我有一个对象Javascript 以动态数据为参数的敲除onClick,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有一个addToCart函数,我想利用它,它不在我的viewModel中 在我的视图模型中,我有一个对象{“items”:[{“name”:“siren”,“id”:2,“image”:“s3.amazon.com”}]) 在我的淘汰赛应用程序中: <div id="cart" class="shopify-buy__cart-scroll"> <div class="shopify-buy__cart-items" data-bind="foreac
{“items”:[{“name”:“siren”,“id”:2,“image”:“s3.amazon.com”}])
在我的淘汰赛应用程序中:
<div id="cart" class="shopify-buy__cart-scroll">
<div class="shopify-buy__cart-items" data-bind="foreach: newcart.items">
<div class="shopify-buy__cart-item">
<div data-bind="style: { 'background-image': 'url(' + images + ')'}" class="shopify-buy__cart-item__image" alt="Product" style="background-repeat:no-repeat;background-size: contain;"></div>
<span class="shopify-buy__cart-item__title" data-bind="text: name"></span>
<span class="shopify-buy__cart-item__price" data-bind="text: price "></span>
<div class="shopify-buy__quantity-container">
<button class="shopify-buy__btn--seamless shopify-buy__quantity-decrement" type="button">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M4 7h8v2H4z"></path></svg>
</button>
<input class="shopify-buy__quantity shopify-buy__cart-item__quantity-input" type="number" min="0" aria-label="Quantity" data-bind="attr: {value: quantity}" style="height: 30px; border:solid 1px #d3dbe2 !important;padding-left:13px;" />
<button class="shopify-buy__btn--seamless shopify-buy__quantity-increment" type="button" databind="click: addToCard(id)" >
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M12 7H9V4H7v3H4v2h3v3h2V9h3z"></path></svg>
</button>
</div>
</div>
</div>
<div class="shopify-buy__cart-bottom">
<p class="shopify-buy__cart__subtotal__text" >SUBTOTAL</p>
<p class="shopify-buy__cart__subtotal__price"data-bind="text: total"></p>
<p class="shopify-buy__cart__notice">Shipping and discount codes are added at checkout.</p>
<button class="shopify-buy__btn shopify-buy__btn--cart-checkout" type="button">CHECKOUT</button>
</div>
</div>
小计
在结账时添加发货和折扣代码
结账
在这行:
我想在函数中添加一些动态参数
<button class="shopify-buy__btn--seamless shopify-buy__quantity-incriment" type="button" databind="attr: {onclick:addToCart( id ) }">
但这不起作用。我如何在不将函数添加到viewmodel的情况下做到这一点。它只是一个对象,我希望保持这种方式
谢谢!使用html5数据属性如何。将您的淘汰id放入单击函数中
data-bind="attr: {'data-idfromko': id }"
运行下面的代码段
函数模型(){
var self=这个;
this.theArray=ko.array([{
“id”:1,
“foo”:“bar”
}, {
“id”:2,
“foo”:“bar2”
}, {
"id":3,,
“foo”:“bar3”
}, ]);
}
var mymodel=新模型();
$(文档).ready(函数(){
ko.应用绑定(mymodel);
$('.button')。单击(函数(事件){
值=$(this).data(“idfromko”)
警报(值);
});
});
身份证件
福
全局窗口对象中的addToCart
函数在哪里?如果它是全局对象,则可以使用databind=“click:window.addToCart()”
。但是,我不确定从何处获取值id
。id值通过一个通过ko.applyBindings(obj)初始化的对象数组传入.需要在foreach中找到它