gpt4 book ai didi

javascript - Symfony2 可以用 ajax 刷新 twigs block 吗?

转载 作者:行者123 更新时间:2023-12-02 16:11:34 27 4
gpt4 key购买 nike

假设我的布局中有一个 block :

{% block sidebar %} {% render url( 'sidebar' ) %} {% endblock %}

是否可以使用ajax刷新 block 而不在其周围创建div?在我的示例中,我无法制作 div,因为它会破坏我的整个模板,所以我需要知道这是否可能?

例如我可以像这样刷新一个div(.test是表的类):

$('.test').load(" .test");

我可以做这样的事情来刷新 block 吗?

$('sidebar').load(" sidebar");

有什么想法吗?

最佳答案

Symfony 在服务器端工作,因此页面渲染后它无法知道 DOM 中发生了什么。 jquery 也无法知道 Twig block ,因为它们是在服务器端解析的。

我会给你一个“愚蠢”的答案(可能我什至会反对良好的做法,具体取决于你正在呈现的内容)答案,但也许它会有所帮助:你是否尝试过添加“跨度”围绕它而不是 div?

{% block sidebar %} <span class="test">{% render url( 'sidebar' ) %}</span> {% endblock %}

编辑:我认为需要一个解释:
假设你的侧边栏中没有 div,这个答案是正确的,否则这只是一个“廉价的技巧”,可能会导致其他问题(如果不是现在,也许将来)请参阅 div inside the span element例如。
如果添加 div 搞砸了,您可能需要检查您的布局。
我建议您尝试一下它是否适合您的情况,另一种选择是使用内联 block div。

{% block sidebar %} <div class="test">{% render url( 'sidebar' ) %}</div>{% endblock %}

然后,在你的CSS中:

.test {
display: inline-block;
}

参见http://learnlayout.com/inline-block.html (请记住 IE6 和 7 并不完全支持它)

关于javascript - Symfony2 可以用 ajax 刷新 twigs block 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30124356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com