0

さて、私は自分のWebサイトにmootoolsを使用して動的コンテンツスワッピングシステムを構築しましたが、それに関する1つの側面で問題が発生しています。サーバーから新しいコンテンツをプルすると、Type関数によって実行されるコードのスニペットも取得されます。

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

これをsetcontentメソッドに送信して実行します。

self.addLink('#order');

今試してみると、このエラーが発生します:

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

1 に答える 1

0

私はあなたのクラスではなく参照selfしていると思います。http://mootools.net/docs/core/Types/Function#Function:bindの例を参照してください。クラスにバインドしてからサーバーの応答で使用するために使用します。windowbind()thisthis

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