jquery – KnockOutJs:为什么点击数据绑定已经执行元素的负载?

前端之家收集整理的这篇文章主要介绍了jquery – KnockOutJs:为什么点击数据绑定已经执行元素的负载?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个通过PHP生成的锚链接,它将绑定在ko上,工作正常。我的问题是为什么在加载元素时执行ko函数?下面是生成代码

HTML:

<a data-bind="click: addOrderedProducts(11,"CRM130930001","Cream",0.00,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,balance));
};

请帮助我…提前感谢:)

解决方法

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

为了使其工作,您需要将点击绑定中的函数调用包装成匿名函数

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

参见文档:Accessing the event object,or passing more parameters

原文链接:https://www.f2er.com/jquery/182971.html

猜你在找的jQuery相关文章