我可以告诉一个可以忽略的警告只是隐藏,而不是在被解雇时将自己从dom中删除吗?
message
问题是我现在没有使用jQuery做任何事情。我需要aurelia根据[extensions]
histedit =
的标志或存在来显示/隐藏它。
它只运行一次,但是一旦我解除它,它就会从DOM中删除,因此在此之后不会出现新消息。
答案 0 :(得分:4)
除了if.bind之外,还有show.bind
(manual),或者您可以使用hidden.bind
绑定到默认的隐藏属性。
Matt表示,您也可以使用字符串插值手动添加CSS类${!message ? 'hidden': ''}
答案 1 :(得分:3)
我可能会这样做......
<div class="alert alert-success alert-dismissible fade-in ${dismissed ? 'hidden': ''}" role="alert">
<button type="button" class="close" click.delegate="dismiss" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<strong>Success!</strong> ${message}
</div>
在js中
dismiss() {
this.dismissed = this.dismissed? true: false;
}
如果有更清洁的方法,我很乐意听到它:)
答案 2 :(得分:0)
对于显示来自ajax调用的响应消息的flash容器,我设置了close.bs.alert
事件的监听器,并再次将删除的HTML添加到DOM中。
$("#flash-container").on("close.bs.alert","#flash-alert",
/* The container that will hold the #flash-alert.
* This setup is neccessary so that the event will be caught
* when the HTML is added once again.
*/
function (e) {
var $alert = $(this).addClass("d-none");
/* Remove the existing text */
$alert.find("#flash-container-text").empty();
/* e.delegateTarget will be #flash-container */
e.delegateTarget.innerHTML = $alert[0].outerHTML;
});