0
我创建了一个实现简单购物车的dojo模块。我有一个load()方法,为页面上的购物车生成dom节点并显示它们。这包括为购物车中的每个商品分配点击事件到“从购物车中移除”按钮的查询。我希望这个点击事件在模块的根级调用remove()方法,但是在传递所有必要的回调来分配点击事件后,我无法弄清楚如何访问移除的范围()方法。这里是一个代码片段:javascript/dojo方法范围
define([ "dojo/dom", "dojo/json", "dojo/cookie", "dojo/_base/array", "dojo/query", "dojo/on", "dojo/NodeList-dom" ],
function(dom, json, cookie, array, query, on) {
return {
load : function(config) {
var cart = this.get(config);
if (cart != null) {
var cartDiv = dom.byId(config.cart.domWrapper);
// console.log("Shopping Cart: " + cart);
cartDiv.innerHTML = "<p>Shopping Cart</p>";
cartDiv.innerHTML += this.getHTML(cart);
}
query(".remove_item").forEach(function(node, i) {
on(query(".remove_item")[i], "click", function(event) {
console.log("Removing item " + i + " from cart...");
remove(config, i); //method does not exist at this scope
});
});
},
remove : function(config, itemId) {
//....
},
我能在这里做什么?