我遇到的问题是在JuiAsset之前包含BootstrapPluginAsset。 (链接:Uncaught Error: cannot call methods on button prior to initialization; attempted to call method 'loading')。
由于\yii\web\BootstrapPluginAsset
仅依赖yii\web\JqueryAsset
而yii\bootstrap\BootstrapAsset
不依赖\yii\jui\JuiAsset
(link),因此如何确保\yii\jui\JuiAsset
始终包含在yii\bootstrap\BootstrapAsset
之前?
答案 0 :(得分:1)
当您在网页中包含多个CSS或JavaScript文件时,他们必须遵循特定顺序以避免覆盖问题。例如,如果您在网页中使用jQuery UI小部件,则必须确保在jQuery UI JavaScript文件之前包含jQuery JavaScript文件。我们称之为对资产之间的依赖关系进行排序。
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yii\bootstrap\BootstrapPluginAsset',
];