yiiでjquery/javascriptを使用する方法は?、
yiiでスクリプトを使用するにはどうすればよいですか?
これが他の方法でjQueryを使用するのと異なるのはなぜですか?
yiiでjquery/javascriptを使用する方法は?、
yiiでスクリプトを使用するにはどうすればよいですか?
これが他の方法でjQueryを使用するのと異なるのはなぜですか?
YiiのregisterScriptを使用してjQueryをロードします。これを通常使用すると、次のようになります。
$(document).ready(function(){
alert('hello');
// Enter code here
});
Yiiのスクリプトを次のように使用すると、次のようになります。
<?php
Yii::app()->clientScript->registerScript('helloscript',"
alert('hello');
",CClientScript::POS_READY);
?>
Yii :: app()-> clientScript-> registerScript関数に3つのものを渡す必要があることがわかります。最初はスクリプト名ですが、これはそれほど重要ではありません。同じページの他のスクリプト名から一意である必要があります。リンク
yiiでjqueryを使用する方法は?
上で述べたように、新しいスクリプトブロックを登録するか、新しい外部スクリプトファイルを登録することができます。また、プラグイン内にアセットを登録します。プラグインはJSフォルダー全体を取得し、それらをアプリに結合します。
したがって、YiiでJQueryを使用する方法はたくさんあります。
yiiでjqueryを使用する方法
JQueryは事前にバンドルされてJQueryでアクティブ化されており、JQueryライブラリ自体はコアスクリプトと見なされるため、独自のJQueryを実際に配置する必要はありません。
次のように入力することで、組み込みのJQueryを独自のもので上書きできます。
$cs = Yii::app()->clientScript;
$cs->scriptMap = array(
'jquery.js' => Yii::app()->request->baseUrl.'/js/jquery.js',
'jquery.yii.js' => Yii::app()->request->baseUrl.'/js/jquery.min.js',
);
$cs->registerCoreScript('jquery');
$cs->registerCoreScript('jquery.ui');
レイアウト、アクション、またはビューのいずれかのどこかにそのようなものがあります。私はこれをレイアウト内に配置し、自分のJQueryバージョンを個人的に管理することを好みます。
これが他の方法でjQueryを使用するのと異なるのはなぜですか?
主に、フレームワークとそのコンポーネントの標準化と相互運用性によるものです。一般に、JQuery UIウィジェットとJQuery要素の組み込みフックが事前にバンドルされているため、フレームワークは、アプリで使用するための再利用可能でクリーンなJSオブジェクトをはるかに簡単に構築できます。
また、私はJQueryが好きなので、JQueryが事前にバンドルされているのは理にかなっています。ただし、これはJQueryが唯一のJSライブラリ/フレームワークであるための武器の呼び出しではありません。選択する前に、どちらが最適かを実際に検討する必要があります。
これは、アプリ開発で使用したサンプルスクリプトです。
<?php
$js = "
$('body')
.on('click', '#cancelCreateInductionTemplate, #closeDialogBox', function (e) {
// Close #openDialog
e.preventDefault();
$('#openDialog').dialog('close');
});
";
Yii::app()->clientScript->registerScript('cancelCreateInductionTemplate', $js, CClientScript::POS_READY);
?>