2013-03-06 179 views
1

我怎樣才能在dojo中調用另一種方法的父方法。 考慮下面的例子:如何在dojo中調用另一種方法的父方法

var parent = declare(null,{ 

m1: function(arg){ 
console.log("parent.m1"); 
}, 
m2: function(arg){ 
console.log("parent.m2"); 
} 

});`enter code here` 

var child = declare(parent,{ 

m1: function(arg){ 
console.log("child.m1"); 
// how can i call parent.**m2** here directly without calling child.m2 
}, 
m2: function(arg){ 
console.log("child.m2"); 
} 

}); 

我怎樣才能直接調用parent.m2從child.m1沒有在所有

調用child.m2現在假設我定義了兩個模塊,如下所示:

parentModule.js 

    var parent = declare(null,{ 

    m1: function(arg){ 
    console.log("parent.m1"); 
    }, 
    m2: function(arg){ 
    console.log("parent.m2"); 
    } 

    }); 
    return declare("ParentModule",[parent,child]); 
//******************************************// 
childModule.js 

    return declare("child",null,{ 

    m1: function(arg){ 
    console.log("child.m1"); 
    // how can i call parent.**m2** here directly without calling child.m2 
    //if we call ParentModule.prototype.m2.call(this,arguments); this will call child.m2 
    //as child module override the parent now 
    //also calling this.getInherited("m2",arguments); will call child.m2 !!! 
    //how to fix that? 
    }, 
    m2: function(arg){ 
    console.log("child.m2"); 
    } 

    }); 
+0

我很困惑你的層次結構。爲什麼父母延長孩子?難道不是相反嗎?我發佈了一個jsfiddle,展示了我認爲你應該如何定義你的模塊。 – 2013-03-06 21:23:37

回答

相關問題