在wapp.js中,我在JavaScript中有以下类:
function Wapp() {
this.page = function($page_name) {
this.onLoad = function($response) {
}
}
this.navigate = {
changePage: function(link) {
// Ajax request to load the page
$.post(link, {}, function(response) {
// Code to display the page
});
}
}
}
app.js脚本中的我有以下代码:
var wapp = new Wapp();
我想这样做:
wapp.page('home').onLoad(function() {
// doSomething();
}
// When I call the method 'changePage'
wapp.navigate.changePage('home');
// at the end of the page load 'home' I want to call the function 'doSomething()' inside the 'onLoad' method
如何在类中定义方法以确保在某个操作结束时(在这种情况下在ajax调用结束时)运行app.js中'onLoad'方法中定义的代码?
答案 0 :(得分:2)
在构建类时,您可以将函数作为变量赋值给类。您可以稍后在代码中调用已分配的函数(例如,在另一个函数的末尾)
https://jsfiddle.net/L8c2s6xr/
function func (functionToCall) {
this.functionToCall = functionToCall;
this.doSomething = function () {
this.functionToCall();
}
}
var f = new func (
function() {
alert('this works');
}
);
f.doSomething();