yii 版本是2.0 .8
我 js 目录 web->js->login.js
页面引入js方法一:
$this->registerJsFile('@web/js/login.js',['depends'=>['app\assets\AppAsset']]); 红色必需
页面引入js方法二:
直接在 asset->AppAsset 里对应的 $js 数组里添加 文件 如 $js = [ 'js/login.js', ]
yii 他引入外部js文件也是到这个 asset->AppAsset 文件里找的,所以当我们自己写了个如 asset->TestAsset
我们要引入他全部的js,css文件时 ,在页面 注册它 如
use app\assets\TestAsset;
TestAsset::register($this);
他就会自动加载进去了
另 可以在 asset->AppAsset 里加入两个方法
//定义按需加载JS方法,注意加载顺序在最后
public static function addScript($view, $jsfile) {
$view->registerJsFile($jsfile, ['depends' => 'app\assets\AppAsset','position'=> $view::POS_END]);
}
//定义按需加载css方法,注意加载顺序在最后
public static function addCss($view, $cssfile) {
$view->registerCssFile($cssfile, ['depends' => 'app\assets\AppAsset',$view::POS_END]);
}
引入文件 页面 如下
use app\assets\AppAsset;
AppAsset::register($this);
AppAsset::addScript($this,'@web/js/login.js');
加入自己layout文件也是差不多,
如 admin_layout 我们在一个公共的控制里 的init 方法里 指定渲染的模板 $this->layout = '/main_admin'; 完成
在控制器中
在控制器的 beforeAction 方法中(方法接收$action参数)