2012-08-26 57 views
0

好吧,所以我建立了一個動態的內容交換系統,使用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(); 
    }); 
}, 

發送這一點將設置內容的方法來執行:

self.addLink('#order'); 

現在當我嘗試它,我得到這個錯誤:

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

回答

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

謝謝你的工作。我必須將它從自我改變爲這個,以便它與之結合。^_ ^ – user1626388