我嘗試了JavaScript中的類也使用extend.js來創建它們。我在課上遇到了一些麻煩,我不太確定我是否需要它們,但我認爲這將是有用的。這是一個只獲取一些數據庫表數據的類。如何通過函數爲類提供選項列表?
var TableData = Class.extend(function(){
this.rowId;
this.action;
this.returnWhat;
this.tableType;
this.php;
this.query = function(){
if (this.returnWhat) this.action += '_' + this.returnWhat;
var postData = { func : this.action };
if (this.rowId) $.extend(postData, { rowId : this.rowId });
$.post(this.php, postData, function(data){
if(data){this.data = data;}
});
return this.data;
};
});
我只說我知道的表,所以我只是並將其作爲增值經銷商/選項,但我不知道如何設置類正確瓦爾起來。這例如不起作用,但可能證明我正在嘗試做什麼。
var options = {
rowId : '*',
action : 'get',
returnWhat : 'all'
}
var league = function (options){
this.tableType = 'league';
this.rowId = options.rowId;
this.action = options.action;
this.returnWhat = options.returnWhat;
this.php = 'php/' + options.tableType + '.php';
}
var tableData = new TableData(assoc_league);
嗯,這是一個瘋狂的方式來實現簡單的東西。加var聯盟,你可能會更好地設置this.php使用this.tableType,否則在你的例子中,它將是undefined – Christian 2014-10-06 00:05:48
是的,我認爲是這樣。我不知道的是,如果它是因爲我使用類錯誤的概念,或者因爲我不應該使用類。 – Tester232323 2014-10-06 00:07:25
也是$ .post是異步,所以返回this.data,將不會返回任何東西 – Christian 2014-10-06 00:08:16