当前位置: 首页 > 面试题库 >

什么是renderAjax(),与render()有何不同?

高皓
2023-03-14
问题内容

当我正常使用时,return this->render('create', ['model' => $model])我的弹出式窗口会一团糟。当我改变return $this->renderAjax('create', ['model' => $model]);一切时,一切都神奇地放在了正确的位置。我到处逛逛了很多,以了解有关renderAjax()的信息,但似乎绝对没有。有人可以告诉我它做什么吗?我知道ajax,但是据我所知,它通常与CSS或bootstrap无关。


问题答案:

要了解两者之间的区别render()renderAjax()首先您需要了解其render()工作原理。

基本上,当render()被称为每一件JS和CSS代码和文件引用的观点注册聚集在多个阵列将在适当的地方后呈现-
这些地方都存储在布局和他们的代码是通过调用渲染beginPage()head()beginBody()endBody()endPage()

您可以通过在相关方法中设置第二个参数来指出应在何处呈现JS代码,例如:

$this->registerJs("alert()", \yii\web\View::POS_HEAD);

渲染

<script type="text/javascript">alert()</script>

在方法所在的布局中$this->head()

一切工作正常,直到您只想渲染视图的主要部分而没有布局。没有它(及其方法beginPage()),就无法以以前的方式呈现JS和CSS引用,这就是为什么这个花哨的jQuery代码旋转正方形不起作用的原因-
那里没有包含JS库。

当您$this->render() 从视图内 调用或仅从$this->renderPartial()控制器调用时,确实发生了这种情况-
布局未应用。

renderAjax() 现在来救援。

这种方法不关心布局,因为它调用beginPage()head()beginBody()endBody()endPage()通过自身的方法。因此,每个JS代码段都可以附加到呈现的视图上,并且即使需要在AJAX弹出窗口中完成,jQuery库也可以再次旋转该正方形。



 类似资料:
  • 问题内容: 我们知道根目录是/,根据posix,还有另一个目录//与/不同。当使用ls /和ls //时,输出与stat相同,但是,如果cd /和cd //则输出不同,尽管目录内容相同。那真的让我感到困惑。有人得到答案了吗? 问题答案: 从Bash常见问题解答:

  • 我刚刚开始使用MongoDB,我注意到它使用BSON在内部存储数据。然而,关于什么是BSON以及如何在MongoDB中使用BSON,文档并不十分清楚。有人能给我解释一下吗?

  • 问题内容: 我刚刚才知道有和值在这是从正常的不同和? 有人可以深入解释什么是真实和虚假的价值观吗? 我应该在哪里使用它们? 是什么区别和值和和价值观? 问题答案: 如评论所述,它仅指评估为True或False的值。 例如,查看列表是否不为空,而不是像这样检查: 您可以简单地做到这一点: 这是因为在评估布尔值时,某些值(例如空列表)被视为False。非空列表为True。 类似地,对于整数,对于,空字

  • vue3 render函数方式创建el-select,不能回显是什么问题呢?

  • 问题内容: 最新的差值(在语言蟒/ django的小白可以理解)在之间的视图,和? 例如,来自Nathan Borror的基本应用示例 但是我也看到了 和 有什么区别,在任何特定情况下使用什么? 问题答案: https://docs.djangoproject.com/zh- CN/1.8/topics/http/shortcuts/#render 是一个在1.3中崭新的快捷方式的品牌,该快捷方式

  • 使用PEP 557,将数据类引入python标准库。 它们使用了装饰器,它们应该是“带默认值的可变名称耦合”,但我不太清楚这到底意味着什么,以及它们与普通类的区别。 python数据类到底是什么?什么时候最好使用它们?