我决定制作我自己的基于 OO 的解决方案。这是构造函数:
var TemplateLoader = function(templatePath) {
this.template = templatePath;
this.loaded = false;
this.error = false;
}
这些是方法:
TemplateLoader.prototype.setReady = function (state) {
this.loaded = state;
}
TemplateLoader.prototype.setError = function (state) {
this.error = state;
}
TemplateLoader.prototype.isReady = function () {
return this.loaded;
}
TemplateLoader.prototype.isError = function () {
return this.error;
}
TemplateLoader.prototype.loadTemplate = function() {
templateLoader = this;
$.ajax({
url: this.template,
type: 'get',
success: function(data) {
$('html').append(data);
templateLoader.setReady(true);
},
error: function() {
templateLoader.setError(true);
}
});
}
这是如何使用它:
templateLoader = new TemplateLoader('template.tmpl');
templateLoader.loadTemplate();
并检查模板是否已加载:
templateLoader.isReady() //true for loaded
templateLoader.isError() //true for error loading template, eg. template doesn't exist
再次,我很感激任何人都可以通过此代码看到的问题的任何反馈。如何检查附加到 HTML 的 DOM 对象。值得吗?