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

mootools type function to execute text as function

本文关键字:函数 执行 文本 类型 mootools      更新时间:2023-09-26

好吧,所以我为我的网站使用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();
    });
},

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

self.addLink('#order');

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

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

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