日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

yii2-按需加载并管理CSS样式/JS脚本

發布時間:2025/5/22 javascript 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 yii2-按需加载并管理CSS样式/JS脚本 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(注:以下為Yii2.0高級;注意代碼中php標簽自己補上)

一、資源包定義

Yii2對于CSS/JS 管理,使用AssetBundle資源包類。
創建如下:
backend/assets/AppAsset.php

namespace backend\assets; use yii\web\AssetBundle; /** * @author chan <maclechan@qq.com> * @since 2.0 */ 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; /* @var $this \yii\web\View */ /* @var $content string */ AppAsset::register($this);

查看源文件,看清CSS和JS的加載順序

可以看出以此順序為:依賴關系 -> 自定義全局CSS/JS
如果,某個視圖需要單獨引入一個CSS/JS,并且,在頁面中還要寫些CSS/JS,該如何做?

2. 在頁面中單獨寫樣式

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

3. 在頁面中單獨寫JS(使用數據塊)

<div id="mybutton">點我彈出OK</div> <?php $this->beginBlock('test') ?> $(function($) { $('#mybutton').click(function() { alert('OK'); }); }); <?php $this->endBlock() ?> <?php $this->registerJs($this->blocks['test'], \yii\web\View::POS_END); ?>

或者:

<?php $this->registerJs('$("document").ready(function(){ $("#login-form").validate({errorElement : "small", errorClass : "error",rules: {"AgNav[nav_cn]": {required: true,},},messages:{"AgNav[nav_cn]" : { required : "此字段不能為空.",},}});});' ); ?>

4.視圖中引入CSS/JS文件

然后再說下在視圖中如何引入一個CSS/JS文件(不是定義在全局里的CSS或JS)
分別有兩種方法:

  • 方法1
    在資源包管理器里面定義一個方法,然后在視圖中注冊即可(推薦使用這種)

如上面代碼己定義:

//定義按需加載JS方法,注意加載順序在最后 public static function addScript($view, $jsfile) { $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backend\assets\AppAsset']); }

視圖中使用如下

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');

查看下源碼,特別的注意下,加載的順序,是我們想要的結果

此外注意:在上面的addScript方法中,如果沒有 ’depends‘=>’xxx‘ ,此處加載的順序將會顛倒。

  • 方法2
    不需要在資源包管理器中定義方法,只要在視圖頁面直接引入即可

AppAsset::register($this); //css定義一樣 $this->registerCssFile('@web/css/font-awesome.min.css',['depends'=>['backend\assets\AppAsset']]); //$this->registerCssFile('@web/css/index-css.css');$this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['backend\assets\AppAsset']]); //$this->registerJsFile('@web/js/jquery-2.1.1.js'); //如下position是讓定義CSS/JS出現的位置 //$this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['backend\assets\AppAsset'],'position'=>$this::POS_HEAD]);

總結

以上是生活随笔為你收集整理的yii2-按需加载并管理CSS样式/JS脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲丝袜中文字幕 | 99视频在线观看视频 | 中文字幕在线不卡视频 | 国产精品sm | 亚洲国产一区二区a毛片 | 九色精品在线 | 中文字幕乱码人妻二区三区 | 日韩资源 | 青青操网站| mdyd—856冲田杏梨在线 | 国产另类在线 | 中文字幕精品一区二区精品 | 精品国产麻豆 | 欧美男女交配视频 | v片在线观看 | 色乱码一区二区三区在线男奴 | 天天干天天舔天天射 | 国产一卡二卡三卡 | 国产日韩成人内射视频 | 日一区二区三区 | 神马午夜91 | 成人观看网站 | 精品人妻伦九区久久aaa片 | av手机版 | 男插女视频在线观看 | wwwjizzzcom| 无码国精品一区二区免费蜜桃 | 一级看片| 国产精品一区在线播放 | 日韩另类 | 国产自产| 久久久在线免费观看 | 欧美激情精品久久 | 天堂中文字幕免费一区 | 亚洲成av人片一区二区 | 可以直接看的毛片 | 日韩和的一区二区 | 综合人人| 成年人看的视频网站 | 日本欧美三级 | 亚洲精品无码专区 | 色眯眯影院 | 国产精品福利小视频 | 欧洲av在线播放 | 久久久久久麻豆 | 久久爱影视i | 爆乳熟妇一区二区三区霸乳 | 伊人ab| 俄罗斯精品一区二区三区 | 黄页在线播放 | 国产性av| 成人久久精品 | 好色av| 亚洲91久久 | 天天曰天天操 | 锦绣未央在线观看 | 成人精品久久久 | 国产黄色网址在线观看 | 亚洲精品国产精华液 | 国产小视频免费 | 国产精品国产成人国产三级 | 一级片aaaaa| 精品三级电影 | 亚洲成人日韩 | 国产综合亚洲精品一区二 | 亚洲色偷偷色噜噜狠狠99网 | 欧美精品色呦呦 | 亚洲国产精选 | 亚洲成人三级 | 欧美人禽杂交狂配 | 天天做天天爱 | 黄页网站在线看 | 国产精品高清无码 | 97视频久久久 | 国产卡一卡二卡三无线乱码新区 | 91直接看 | 伊人视屏| 羞羞漫画在线播放 | 欧美丰满老熟妇xxxxx性 | 秋霞午夜影院 | 老子影院午夜伦不卡大全 | 天堂中文在线资源 | 操操操影院 | 黄色av大全| 日本不卡专区 | 日本护士体内she精2xxx | 色老头免费视频 | 美国一级大黄一片免费中文 | 亚洲欧美一区二区激情 | 国产美女菊爆在线播放APP | 伊人论坛 | 欧美精品在线一区二区 | 大咪咪dvd | 免费黄视频在线观看 | 少妇学院在线观看 | 日韩成人在线网站 | 国产福利不卡视频 | 日毛片| 欧洲丰满少妇做爰 |