在带有 webpacker 的 rails 6 中,您可以在<%= javascript_pack_tag 'alerts' %>
视图或模板中添加一个来注入一些 js。
这如何与导入地图和 Rails 7 一起使用?
在带有 webpacker 的 rails 6 中,您可以在<%= javascript_pack_tag 'alerts' %>
视图或模板中添加一个来注入一些 js。
这如何与导入地图和 Rails 7 一起使用?
只要代码在导入映射中正确,您就可以通过以下方式引用它:
<script type="module">import "/assets/custom/alerts.js";</script>
假设文件是app/javascript/custom/alerts.js
引用config/importmap.rb
如下:
pin_all_from "app/javascript/custom", under: "custom"
并导入到 application.js 中:
import "custom/alerts"
编辑:我现在认为这是 Rails 7 中的反模式。使用 Stimulus 控制器非常容易。
刺激手册供参考
例如,当用户单击“x”时关闭警报
// app/javascript/alerts_controller.js
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
dismiss () {
this.element.style.display = 'none';
}
}
<div data-controller="alerts">
<h2> Alert! </h2>
<span data-action="click->alerts#dismiss"><i class="fas fa-times"></i></span>
</div>