2016-08-18 44 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