javascript - MooTools Class.extend 有困难

标签 javascript class mootools extend

考虑以下代码:

var Widget = new Class({
       Implements: [Options],
       options: {
          "name" : "BaseWidget"
       },
       initialize: function(options) {
          alert("Options are: " + JSON.stringify(options)); //alerts "Options are: undefined"
          this.setOptions(options);
          alert("My options are: " + JSON.stringify(this.options)); //alerts "My options are: { 'name' : 'BaseWidget' }"
       },
       getName: function() {
          return this.options.name;   
       }
});

var LayoutWidget = Widget.extend({    
       initialize: function() {
          this.parent({ "name" : "Layout" });
       }
});

alert(new LayoutWidget().getName()); //alerts "BaseWidget"

我很难确定为什么在 LayoutWidget 的“初始化”函数中调用“this.parent()”时传递的参数在 Widget 的初始化函数中显示为“未定义”。

我正在使用 MooTools 1.2.2。有人能给我指出正确的方向吗?

最佳答案

检查这个:http://www.jsfiddle.net/F4hTS/

形式略有不同。

var Widget = new Class({
    Implements: [Options],
    options: {
        "name" : "BaseWidget"
    },
    initialize: function(options) {
        alert("Options are: " + JSON.stringify(options)); //alerts "Options are: undefined"
        this.setOptions(options);
        alert("My options are: " + JSON.stringify(this.options)); //alerts "My options are: { 'name' : 'BaseWidget' }"
    },
    getName: function() {
        return this.options.name;   
    }
});

Widget.LayoutWidget = new Class({   
    Extends: Widget,
    initialize: function(options) {
        this.parent(options);
    }
});

alert(new Widget.LayoutWidget({ "name" : "Layout" }).getName()); //alerts "Layout"

关于javascript - MooTools Class.extend 有困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3067407/

相关文章:

python - 将旧式类重写为新类

javascript - 隐藏在 mootools slider 后面的下拉菜单

javascript - 在内容更新时保留复选框值

javascript - Chart.js Canvas 更改标签颜色

java - 耦合度太高还是可以这样设计?

javascript - Mootools getPosition() 给出了错误的位置

php - mootools单选按钮问题

javascript - 照片幻灯片上的 SetTimeout 函数

javascript - React Native 在 props.function() 调用中抛出 "undefined is not a function"

php - 这是一个有效的类变量吗? $this->$变量名