如何强制jQuery UI资产总是包含在Yii2中的Bootstrap插件资产之前?

时间:2016-02-12 02:33:03

标签: php jquery yii2

我遇到的问题是在JuiAsset之前包含BootstrapPluginAsset。 (链接:Uncaught Error: cannot call methods on button prior to initialization; attempted to call method 'loading')。

由于\yii\web\BootstrapPluginAsset仅依赖yii\web\JqueryAssetyii\bootstrap\BootstrapAsset不依赖\yii\jui\JuiAssetlink),因此如何确保\yii\jui\JuiAsset始终包含在yii\bootstrap\BootstrapAsset之前?

1 个答案:

答案 0 :(得分:1)

当您在网页中包含多个CSS或JavaScript文件时,他们必须遵循特定顺序以避免覆盖问题。例如,如果您在网页中使用jQuery UI小部件,则必须确保在jQuery UI JavaScript文件之前包含jQuery JavaScript文件。我们称之为对资产之间的依赖关系进行排序。

public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yii\bootstrap\BootstrapPluginAsset',
];

http://www.yiiframework.com/forum/index.php/topic/69670-how-to-force-jquery-ui-asset-always-included-before-bootstrap-plugin-asset-in-yii2/page__view__findpost__p__295772