手动加载扩展和使用Ajax for renderPartial的最佳实践

时间:2015-05-08 09:06:21

标签: javascript ajax yii

在我的yii应用程序中,我使用Tabs并使用renderPartial()加载每个ajax的内容。为了不多次加载所有脚本,我将processOutput设置为false。所以我想在索引页面手动加载所有需要的脚本。

我也在页面上使用了一些扩展名。所以我还需要手动加载他们的js / css。问题是:

  • 如何确定页面上将使用哪些扩展名并加载其js / css文件?
  • 另一个问题是:例如,我将使用bootstrap扩展。扩展程序有assets文件夹,其中包含许多javascript文件。如何导入所有文件?

我还想了解使用Ajax加载相同内容(GridView)的最佳做法,而不会在使用Fitlers / Delete按钮时获得重复的ajax请求。

1 个答案:

答案 0 :(得分:-1)

  

如何确定页面上将使用哪些扩展并加载其js / css文件?

您必须在使用之前加载文件。这必须手动完成。 在访问其任何功能之前,请使用require('script.js')之类的功能。

您的require()方法应该检查脚本是否已经加载,如果没有执行ajax请求。

您可以使用RequireJS为您执行此任务。

  

另一个问题是:例如,我将使用bootstrap扩展。该   extension有assets文件夹,里面包含很多javascript文件。怎么样   我可以导入所有文件吗?

您必须单独导入每个文件,这意味着您的应用程序需要知道所有文件。

一个好主意是创建一个配置文件:content.json。 您的函数首先获取包含所有引导资源的配置文件。之后,它会获取所有这些资源。

  

我还想了解加载相同内容的最佳做法   使用Ajax的内容(GridView),而不会获得重复的ajax请求   使用Fitlers / Delete按钮时。

围绕缓存结果的ajax()编写一个包装函数。