YII2.0 jQuery(…).activeform is not a function in 終極解決方案

今天終於把困擾我好久的報錯解決掉了。
首先找到 vendoryiisoftyii2webJqueryAsset.php文件php

<?php
namespace yii\web;
class JqueryAsset extends AssetBundle
{
    public $sourcePath = '@bower/jquery/dist';
  /*  public $js = [
        'jquery.js',
    ];*/
}

把這段註釋掉,其實不註釋也沒關係啦~只不過頁面上會多加載一次jquery.js,下面纔是重要的
最重要的來了
在同級目錄下 也就是 vendoryiisoftyii2webYiiAsset.phpcss

class YiiAsset extends AssetBundle
{
    public $sourcePath = '@yii/assets';
    public $js = [
        'yii.js',
    ];
    public $depends = [
       ** 'yii\web\JqueryAsset',**
    ];
}

能夠看到這有個依賴 ,這個依賴的就是 剛剛上面的JqueryAsset的命名空間~如今只要把這個命名空間改掉就行了,只要改這一個地方就行了,由於yii.activeForm.js應該是依賴的yii.js的命名空間 ~ 雖然我全局也沒搜到yii.activeForm.js在哪裏出現過,反正不要管他就好了,接下來把它jquery

public $depends = [
        'app\assets\AppAsset',
    ];

改爲這樣就好了 依賴在 web同級目錄下的 assets/AppAsset.php中web

<?php
namespace app\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/bootstrap.min.css',
        'css/iconfont.css',
        'css/bootsnav.css',
        'css/style.css',
    ];
    public $js = [
        'js/vendor/jquery-1.11.2.min.js',
        'js/vendor/bootstrap.min.js',
        'js/comm.js?v1',
      ];

    public static function addScript($view, $jsfile)
    {
        $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'app\assets\AppAsset']);
    }

    //定義按需加載css方法,注意加載順序在最後
    public static function addCss($view, $cssfile)
    {

        $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'app\assets\AppAsset']);
    }
}
?>

這是個人appasset.php就是這樣的了~如今打開頁面就不會再看見討厭的jQuery(…).activeform is not a function 了bootstrap

相關文章
相關標籤/搜索