我有一个涡轮帧如下:
<turbo-frame id="details">
Select a movie for more details...
</turbo-frame>
当点击下面的a标记时,这个帧会被正确替换,因为route /movie/show/1返回一个id为“details”的turbo帧
<turbo-frame class="movie-cards" id="index">
<a class="movie-card" data-turbo-frame="details" href="/movie/show/1">
<div class="movie-item-detail text-center">
LOTR
</div>
</a>
</turbo-frame>
然而,在控制台运行fetch("/movie/show/1")
返回了相同的turbo帧响应,但没有替换任何内容。为什么会这样呢?是否有一种方法可以使javascript发起的请求更新turbo帧?
1条答案
按热度按时间qcuzuvrc1#
有几种方法可以做到这一点。您可以更新turbo帧本身的src属性,绕过fetch的需要。每当此属性更改时,turbo将执行对URL的get请求并替换响应中提供的给定turbo帧:
或者,如果您使用的是turbo流,您可以使用响应来启动turbo以正确更新页面(参考):