是否可以通过预定义的div或类似内容来产生甜蜜警报?
基本上我想创建一个甜蜜的警报模式,该模式可以联系从数据库收集的很多信息,但是我想看看是否有除AJAX之外的其他方法来获取数据?
例如,我正在编写一个Laravel应用程序,有没有办法用刀刃和我的所有内容预编写一个div,然后有甜蜜的警报,只需在打开div并将其显示在其中一个div中时复制它即可情态?
甜蜜警报2文档here
答案 0 :(得分:0)
好吧,我本人想出了一个简单的解决方案,但是我仍然愿意接受其他想法吗?
我已经在刀片中简单地创建了一个div,其中包含了我想要的所有内容,并将其包装在一个我称为mainWindow = new BrowserWindow(
{
width: 1280,
height: 720,
webPreferences: {
nodeIntegration: false,
preload: path.join(__dirname, 'preload.js'),
nativeWindowOpen: true
}
}
);
的div中,
.sweetalert_template
然后我要像这样在整个应用程序中隐藏所有甜蜜警报模板
<div class="sweetalert_template">
<span id="all_contacts">
@foreach($user->contacts as $contact)
<h4>{{$contact->name}}</h4>
<p>{{$contact->telephone}}</p>
@endforeach
</span>
</div>
然后在警报加载时抓取HTML。
.sweetalert_template {
position:fixed;
top:5000px;
left:5000px;
visibility:hidden;
display:none;
z-index:-9999;
}
这是实现我的目标的一种相当简单的方法,它消除了不必要的AJAX调用。
答案 1 :(得分:0)
我认为这是ajax的典型情况-但是,如果您确实想输出与网站的所有联系方式,则可以尝试将数据放入对象数组中:
<script>
// prepare the object array on server side
var all_contacts = [
@foreach($user->contacts as $contact)
{name:"{{$contact->name}}", phone:"{{$contact->phone}}", email:"{{$contact->email}}"},
@endforeach
];
function showInfo(idx) {
swal({
type: 'info',
title: 'Contact Information',
html: all_contacts[idx].name + "<br/>" + all_contacts[idx].phone + "<br/>" + all_contacts[idx].email,
})
}
</script>
@foreach($user->contacts as $idx=>$contact)
<span>{{$contact->name}}</span> <button onClick="showInfo({{$idx}})">More Info</button>
@endforeach
因此,在第一个循环(在script标记内)中,填充数组变量,在第二个循环中,使用“更多信息”按钮显示表。 这是一个非常基本的示例-最后,您将必须避免转义在第一个循环中破坏变量的字符以及在swal窗口中可能破坏html输出的字符。