gpt4 book ai didi

jquery - knockout : Why does click data-bind has execute on-load of element?

转载 作者:行者123 更新时间:2023-12-03 21:36:37 25 4
gpt4 key购买 nike

我有一个通过 php 生成的 anchor 链接,它将绑定(bind)在 ko 上并且工作正常。我的问题是为什么 ko 函数在加载元素时执行?下面是生成的代码。

html:

<a data-bind="click: addOrderedProducts(11,"CRM130930001","Cream",0.00,0,0,0)" class="Add" title="Add" href="">Add</a>

ko函数:

self.addOrderedProducts = function (id,product_number,name,price,quantity,discount,balance){
self.orderedProducts.push(new Product(id,product_number,name,price,quantity,discount,balance));
};

请帮助我...提前致谢:)

最佳答案

这就是对象字面量在 Javascript 中的工作方式,因此在创建对象时会立即评估函数类等属性值。

要使其正常工作,您需要将 click 绑定(bind)中的函数调用包装到匿名函数中:

<a data-bind="click: function () { addOrderedProducts( ... ) }" href="">Add</a>

另请参阅文档:Accessing the event object, or passing more parameters

关于jquery - knockout : Why does click data-bind has execute on-load of element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19276164/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com