日韩性视频-久久久蜜桃-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脚本的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产毛片在线看 | 亚洲操操操 | 少妇一级淫片免费 | 国产午夜精品一区二区三区视频 | 亚洲欧美日韩中文字幕在线观看 | avtt亚洲天堂 | 日本人妖在线 | 青青草国产成人av片免费 | 91久久在线观看 | xxxwww在线观看 | 美女啪啪动态图 | 久久99热这里只频精品6学生 | 免费看国产精品 | 手机看片国产日韩 | 九九热伊人 | 美女网站免费视频 | 亚洲图片小说视频 | 蜜桃精品视频在线观看 | 久久yy | 国产最新在线 | 999久久久国产 | 天天干天天天天 | 自拍偷拍20p | www.狠狠撸.com | 国产白丝袜美女久久久久 | 91网站免费在线观看 | 亚洲精品国产精品乱码桃花 | 欧美黄色片网站 | 欧美亚洲一| 四虎国产在线观看 | 天堂资源地址在线 | 爱av在线 | 免费一级做a爰片久久毛片潮 | 中文字幕日韩三级片 | 日韩一级在线 | 极品粉嫩小仙女高潮喷水久久 | 久久久久夜 | 欧美一级淫片免费视频黄 | 亚洲欧美在线免费观看 | 亚洲www. | 成人开心激情 | 少妇偷人精品无码人妻 | 人人草网站 | 国产精品久久久久久久久久 | 91色视频| 天天射天天干天天操 | 91福利视频导航 | 亚洲美女视频一区 | 麻豆影视av | 伊人手机在线视频 | 国产精品久久久亚洲 | 色福利视频 | 国产婷婷在线视频 | 成人影视在线看 | av免费看网站 | 日日碰日日摸 | 在线超碰av | 葵司免费一区二区三区四区五区 | 久久久精彩视频 | 亚洲一区二三区 | 欧美激情精品久久 | 亚洲国产精品成人无久久精品 | 中文无码av一区二区三区 | 黄在线免费看 | 黄色亚洲精品 | 日本视频网 | 亚洲美女性生活视频 | 亚洲一区www| 国产ts在线 | 欧美h在线观看 | 日本aaaa | 久久成人综合网 | 亚洲精品国产精 | 日本欧美一区二区三区不卡视频 | 男人天堂a | 又黄又爽视频在线观看 | 3d动漫啪啪精品一区二区中文字幕 | 国产二级毛片 | 天天看天天做 | 91久久精品一区 | 久久不雅视频 | 久久免费少妇高潮99精品 | 天天操天天射天天舔 | 91玖玖| 亚洲免费视| 日本成人激情 | 久久精品视频免费看 | 中文字幕在线观 | 精品人妻一区二区三区日产 | 亚洲综合激情小说 | 国产精品久久久精品 | 中文字幕乱码人妻一区二区三区 | 日韩精品中文字幕一区二区三区 | 亚洲va在线观看 | a毛片视频 | 亚洲第一二三四区 | 亚洲免费三区 | 天天做天天爱天天爽 | 天堂社区av |