2016-10-30 3 views
0

LeftAndMainのデコレータを使用して、CMS領域のUI用にJSスクリプトを使用しています。各AJAXコールの要件()を使用するSilverStripe

class LeftAndMainTweaks extends LeftAndMainExtension { 
    public function init() { 

    parent::init(); 

    // My JS script 
    Requirements::javascript('mymodule/js/myscript.js'); 
    } 
} 

スクリプトは、JSの機能の一部を壊す(ページやModelAdminの者をブラウズなど)各AJAX呼び出しのためだけ度とない再ロードされます。

各AJAXコールの後に外部JSスクリプトを強制的に再ロードするにはどうすればよいですか?

答えて

1

強制的にスクリプトを再読み込みする必要はありません。代わりに絡み合ったフックを使用してください。

一般的なパターンは、onmatchonunmatchを使用することです。

$('.my-selector').entwine({ 
    onmatch: function() { 
     // don't forget to call this._super(); 
     this._super(); 

     // Do your stuff to initialize your component 
    }, 

    onunmatch: function() { 
     this._super(); 
     // clean up your component, unbind event listeners etc. 
    } 
}); 

ビューは.my-selectorクラスを持つノードを作成した場合、onmatchが呼び出されると、あなたはそこにあなたのコンポーネントを初期化することができます。

あなたが達成しようとしていることを正確に特定していないので、より良い指針を与えるのは難しいです。あなたが結婚するのが初めてなら、これはかなり良い読書だと思う:https://www.bigfork.co.uk/takeaway/a-beginners-introduction-to-using-entwine-in-silverstripe

関連する問題