mootools类型函数执行文本作为函数

时间:2012-08-26 21:53:32

标签: javascript function web mootools

好吧所以我为我的网站建立了一个使用mootools的动态内容交换系统,我遇到了一个问题。当它从服务器中提取新内容时,它还会获得一个由类型函数执行的代码片段

    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();
    });
},

通过将其发送到要执行的set content方法:

self.addLink('#order');

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

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

1 个答案:

答案 0 :(得分: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();
}