0

好的,所以我使用 mootools 为我的网站构建了一个动态内容交换系统,但我在某个方面遇到了麻烦。当它从服务器上拉出新内容时,它还会获得一段代码,该代码段将由 Type Function 执行

    setContent: function(content) {
    var self = this;
    window.history.pushState({x: 0}, "x", content[0].toLowerCase());
    var mainField = $('meat');
    mainField.set('html', content[1]);
    if(content[2] != false) {
        var functionn = Function(content[2]);
        functionn();
    }
},

现在在这种情况下,我试图在类中执行一个方法:

addLink: function(item) {
    var self = this;
    var object = $(item);
    self.menus.include(item);
    object.addEvent('click', function(event) {
        event.stop();
    });
},

通过将其发送到要执行的设置内容方法:

self.addLink('#order');

现在当我尝试它时,我得到了这个错误:

Uncaught TypeError: Object [object Window] has no method 'addLink'
4

1 回答 1

0

我猜self是指window而不是您的班级,请参阅http://mootools.net/docs/core/Types/Function#Function:bind上的示例。用于bind()绑定this到您的课程,然后this在您的服务器回复中使用。

if(content[2] != false) {
    var functionn = Function(content[2]);
    var functionn_bound = functionn.bind(this);
    functionn_bound();
}
于 2012-08-26T22:05:39.453 回答