私は最初のjQueryUIウィジェットに取り組んでいます。$ .ajaxを使用してデータをプルし、データがロードされた後に要素にデータを入力します。通常、私はajaxプルを実行し、「onSuccess」コールバック関数をその関数に渡して、ajaxプルが成功したときに実行される関数を使用します。
これが私が言っていることの本当に単純化されたバージョンです:
function doAjax(onSuccess) {
$.ajax({
success: function (data) {
onSuccess(data);
}
});
}
doAjax(function (data) {console.log(data);});
ウィジェットファクトリを使用すると、$。ajaxの成功関数にトリガーを追加できることがわかります。ウィジェットコード内でそのトリガーを使用できますか?
このようなものは機能しますが、ベストプラクティスではないようです。
_create: function() {
self.options.dataLoaded = function (e, data) {console.log(data);};
this._doAjax();
},
_doAjax: function() {
var self = this;
$.ajax({
success: function (data) {
self._trigger('dataLoaded', null, data);
}
});
}
ここでベストプラクティスと見なされるものは何ですか?