2016-08-18 1 views
1

J'essaie d'hériter d'une méthode du widget de base à un autre widget. ici est mon exemple de codeComment implémenter l'héritage dans le widget d'interface utilisateur Jquery

widget My base est

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

    }); 
}); 

et d'autres un widget appelant ce widget de base est

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

    }); 
}); 

et initialisation pour le MyWidgetcode est

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

Comment Peut-on passer l'option testVal de MyWidget à l'appel de baseWidget? et je reçois quelque chose comme erreur

Uncaught TypeError: i est pas un constructeur

Uncaught TypeError: $ (...) MyWidget est pas une fonction

peut me aider à s'il vous plaît résoudre ce problème. problème. merci à l'avance

Répondre

2

Cela semble fonctionner OK: J'ai seulement fait une correction: changé l'option pour les options dans alert(this.option.testVal); et l'alerte avec «widget de test» surgi OK. Vous pouvez aussi créer le widget jquery onReady et voir si cela résout le problème à savoir:

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

Voir mon code à https://jsfiddle.net/5gmn6x7k/4/

+0

HI @Dhananjay I comprennent déjà la bibliothèque UI Jqury. Toujours l'erreur est là "Uncaught TypeError: i n'est pas un constructeur" – Arun

+0

@Arun Créer un nouveau violon ou modifier mon code de violon pour reproduire le problème si possible – Dhananjay