熊本污 2016-05-04 08:06:27 4515次浏览 0条评论 6 0 0

Yii2对于CSS/JS 管理,使用AssetBundle资源包类。

一.打开 backend/assets/AppAsset.php

namespace backend\assets;  
  
use yii\web\AssetBundle;  
  
class AppAsset extends AssetBundle  {  
    public $basePath = '@webroot';  
    public $baseUrl = '@web';
      
    //全局CSS  
    public $css = [  
        'css/animate.css',  
        'css/style.min.css',  
    ]; 
     
    //全局JS  
    public $js = [  
        'js/jquery-2.1.1.js'  
    ]; 
    
    //依赖关系  
    public $depends = [  
        'yii\web\YiiAsset',  
        'yii\bootstrap\BootstrapAsset',  
    ];  
  
     //定义按需加载JS方法,注意加载顺序在最后  
    public static function addScript($view, $jsfile) {  
        $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']);  
    }  
      
   //定义按需加载css方法,注意加载顺序在最后  
    public static function addCss($view, $cssfile) {  
        $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']);  
    }  
}

二.静态资源在视图中加载

1、视图(或布局)使用全局CSS/JS

use yii\helpers\Html;  
use backend\assets\AppAsset;  
use backend\widgets\Alert;
  
AppAsset::register($this);

2、在视图中加载单独的样式

$cssString = ".gray-bg{color:red;}";  
$this->registerCss($cssString);

3、视图中引入JS/CSS文件
使用自定义函数加载

AppAsset::register($this);  
//只在该视图中使用非全局的jui   
AppAsset::addScript($this,'@web/js/jquery-ui.custom.min.js');  
AppAsset::addCss($this,'@web/css/font-awesome/css/font-awesome.min.css');

// ----------------------------------------直接加载------------------------------------------
AppAsset::register($this);  
//css定义一样  
$this->registerCssFile('@web/css/font-awesome.min.css',['depends'=>['backend\assets\AppAsset']]);  
$this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['backend\assets\AppAsset']]);
    没有找到数据。
您需要登录后才可以评论。登录 | 立即注册