5

yiiでjquery/javascriptを使用する方法は?、

yiiでスクリプトを使用するにはどうすればよいですか?

これが他の方法でjQueryを使用するのと異なるのはなぜですか?

4

3 に答える 3

11

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つのものを渡す必要があることがわかります。最初はスクリプト名ですが、これはそれほど重要ではありません。同じページの他のスクリプト名から一意である必要があります。リンク

于 2012-10-09T08:37:55.590 に答える
11

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ライブラリ/フレームワークであるための武器の呼び出しではありません。選択する前に、どちらが最適かを実際に検討する必要があります。

于 2012-10-09T10:02:10.160 に答える
0

これは、アプリ開発で使用したサンプルスクリプトです。

<?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);
?>
于 2012-10-09T10:30:17.060 に答える