2016-08-18 78 views
1

我想从基本小部件继承一个方法到另一个小部件。 这里是我的示例代码如何在JQuery UI小部件中实现继承

我的基本部件是

$(function() { 
    $.widget("UI.baseWidget", { 
     options: { 
      testVal:'' 
     }, 
     _create: function() { 
      alert(this.option.testVal); 
     }, 

    }); 
}); 

等小部件调用这个基础部件是

$(function() { 
    $.widget("UI.MyWidget", $.UI.baseWidget, { 
     options: { 
      testVal:'' 
     }, 
     _create: function() { 
      $.UI.baseWidget.prototype._create.call(this); 
     } 

    }); 
}); 

和initilise的MyWidgetcode是

$('#mydiv').MyWidget({testVal:'test widget'}) 

如何我们可以将MyVidget的testVal选项传递给baseWidget调用吗? 我得到错误像

遗漏的类型错误的一些事情:我是不是构造

遗漏的类型错误:$(...)进myWidget不是一个函数

可以请帮我解决这个问题。问题。在此先感谢

回答

2

似乎工作好吧:我只做了一个更正:更改选项alert(this.option.testVal);中的选项,并弹出'测试小工具'的警报正常。您也可以尝试创建窗口小部件的jQuery onReady,看看是否能解决这个问题,即:

$(function() { 
    $('#myDiv').MyWidget({testVal:'test widget'}); 
}); 

见我的代码在https://jsfiddle.net/5gmn6x7k/4/

+0

HI @Dhananjay我已经包括Jqury UI库。仍然错误在那里“Uncaught TypeError:我不是一个构造函数” – Arun

+0

@Arun创建一个新的小提琴或修改我的小提琴代码,以复制问题,如果可能的话 – Dhananjay