yii Asset资源包如何按需加载css和js

公共css文件global.css,
页面A需要加载global.css和a.css,
页面B需要加载global.css和b.css,
其他页面诸如类似。。

那么如何通过资源包AppAsset进行按需加载各自页面的css文件呢?

类似的js又该如何去实现呢?

阅读 3.1k
1 个回答

我说一种思路吧,就是重写。

我们定义一个XXXAsset的时候,都知道它继承于AssetBundle,假设我们可以新建一个叫做assets/BaseAsset的类,然后它继承于AssetBundle,然后我们重写BaseAsset从AssetBundle继承过来的register方法,都知道register方法的参数是$view对象,那么我们得到此视图的路径,分析出a、b、.....,在继续之前将a.css放到BaseAsset的css变量中去。

然后我们让AppAsset来继承刚刚建立的BaseAsset类

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进