angular - 制作可重用模态组件的正确方法
问题描述
我找到了几个例子,但它们似乎都相互矛盾或者是为旧版本的 ng-bootstrap 设计的。
什么是创建可以放置在公共文件夹中然后在页面上的多个模态中重复使用的简单模态的正确方法?我想传入一个表单组件作为模态的主体。
是的,我在官方网站上看到了这个例子。但它没有考虑在页面上有多个模态/模态触发器。它假设您只有一个并且不必定位。我需要传入一个 id,以便在模态中编辑一段数据并将其保存回数据库。
解决方案
您可以制作可重用的模态布局
首先要做的就是添加模态布局
<!-- The Default modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="modalLabel"></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="font-size:19px;">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
</div>
</div>
</div>
</div>
然后使用 jquery 触发模态
$(document).on('click', '.click-btn', function () {
var dataURL = $(this).attr('data-href');
var id = $(this).attr('id');
$('.modal-title').html(id);
$('.modal-body').load(dataURL, function () {
$('#myModal').modal({ show: true });
});
});
注意:dataURL是你要显示的模态框的内容
希望能帮助到你
推荐阅读
- docker - 使用 docker image testcafe/testcafe 时无权创建截图目录
- azure - 在 Azure DevOps 发布管道中控制作业顺序
- c# - 触发器 Unity 上的 FPS 控制器动画
- c# - 如何通过 HTTP 请求方法 C# 从字节 [] 组装文件
- c# - EWS 如何在我自己的邮箱中创建搜索文件夹?
- react-native - 使用 idex 捆绑包或 Metro 时出现运行错误该怎么办?
- c# - 在表单加载时自动将 MDIchild 最大化为 MDIParent
- mysql - “查询数据包太大”错误。在哪里更改 max_allowed_packet 变量?
- contentful - 如何将内容从一个空间复制到另一个空间?
- mysql - Laravel:连接两个不同数据库连接的表