Yii 2:使用声明为资产的模块图像

Yii 2: Using module's image declared as asset

我在以下结构的模块中有一个图像:vendor/myvendorname/mymodulename/assets/img/delete-icon.png

我需要通过 JavaScript 向页面添加一个 <img>,并且它可能具有指向该 delete-icon.pngsrc 属性。

$("#delete").attr("src", "?");

如果将图像放在 Yii 创建的资产目录中,我如何引用图像?这条路是怎么获得的?

一旦您注册了 AssetBundle,就可以获取它的 baseUrl。在视图的其余部分,您可以使用它来获取图像:

$assets = MyAssetBundle::register($this);
$imagePath = $assets->baseUrl . '/img/delete-icon.png';

$this->registerJS(<<<JS
   $("#delete").attr("src", "$imagePath");
JS
  );