Hallo Community,
ich habe ein Problem mit dem Aufrufen von einer Function innerhalb einer Klasse:
Ich rufe den ganzen Spaß so auf:
Firefox Console meldet mir in Zeile
PS: createTable() habe ich eingekürzt ... mit "var columnHeader" will ich später weiter arbeiten.
ich habe ein Problem mit dem Aufrufen von einer Function innerhalb einer Klasse:
Code:
function SiteRenderer(json) {
this.json = json;
this.render = function() {
if (typeof (this.json) == 'undefined')
throw 'Renderer: JSON is undefined';
this.changeSiteCaption();
this.renderTables();
}
this.renderTables = function() {
if (typeof (this.json.tables) != 'undefined') {
this.json.tables.map(this.createTable);
}
}
this.changeSiteCaption = function() {
if (typeof (this.json.caption) != 'undefined') {
$('div#headerLeft h2').html(this.json.caption);
}
}
this.createTable = function(table) {
var columnHeader = this.createColumnHeader(table.columns);
}
this.createColumnHeader = function(columns) {
var list = [];
columns.map(function(item) {
if (columns[i].visible) {
list[list.length] = {
'field' : item.field,
'headerText' : item.headertext
}
}
});
return list;
}
}
Ich rufe den ganzen Spaß so auf:
Code:
var renderer = new SiteRenderer(data); // Render complete Site
renderer.render();
Firefox Console meldet mir in Zeile
var columnHeader = this.createColumnHeader(table.columns);
"TypeError: this.createColumnHeader is not a function". Was mache ich verkehrt? Der Aufruf von renderTables() aus render() funktioniert doch auch.PS: createTable() habe ich eingekürzt ... mit "var columnHeader" will ich später weiter arbeiten.