dlls / yii2-intercooler
Yii2 Intercooler 扩展
2.9
2018-04-30 07:52 UTC
Requires
- bower-asset/intercooler-js: ~1.2.1
- yiisoft/yii2: ~2.0.0
README
轻松将 Intercooler.js(易于使用的 Ajax 处理程序)集成到 Yii2 框架中。提供了一组预先定义了 Intercooler 要求的现成小部件。
有关 Intercooler.js 的官方文档,请参阅 http://intercoolerjs.org
安装
安装此扩展的首选方法是通过 composer。
运行以下命令之一:
$ composer require dlds/yii2-intercooler
或者
"dlds/yii2-intercooler": "~2.0"
将以下内容添加到您的 composer.json 文件的 require 部分。
模块基类
基模块类 Intercooler 包含所有 Intercooler 所需的 HTML 元素属性选项。同时,它还使用 IntercoolerAssets 注册所需的 JavaScript 文件。它通常通过包含的小部件之一进行初始化。
响应头
使用基类静态方法,您可以设置特定的 Intercooler 头部。
X-IC-Redirect
为了在 Intercooler 请求完成后将用户重定向到新 URL,您必须在服务器端设置重定向头。
Intercooler::doRedirect('/new-destination-url');
X-IC-Refresh
为了刷新 Intercooler 元素,您可以在服务器端设置刷新头,并告诉 Intercooler 哪些元素应该被刷新。
Intercooler::doRefresh([
'/foo/bar'
]);
有关 '/foo/bar' 的含义,请参阅 官方文档
X-IC-Remove
为了删除目标元素,您必须在服务器端设置删除头。
Intercooler::doRemove();
小部件
集成包含基于 Intercooler 行为的许多现成模块。
AjaxBlock
助手,用于渲染带有所需 Intercooler 属性的适当 HTML 元素。
AjaxBlock::begin([
'id' => 'my-ic-widget',
'wrapper' => 'button',
'options' => ['class' => 'text-gray']
'intercooler' => [
'url' => '/my-custom-url',
'target' => '#my-target-element',
],
]);
// ... custom content
AjaxBlock::end();
有关更多小部件选项,请参阅 AjaxBlock 类文档。
InfiniteList
渲染无限列表视图小部件。
InfiniteList::widget([
'id' => 'my-ic-infinite-list,
// ...
// standart ListView widget options
// ...
'layout' => "{indicatorRefresh}<div class=\"items\">{items}{pager}</div>\n",
'partialLayout' => "{items}{pager}\n",
'intercooler' => [
'url' => '/my-ic-feed-url,
'type' => \dlds\intercooler\Intercooler::RQ_TYPE_SRC,
],
'pager' => [
'class' => InfiniteListPager::className(),
],
]);
有关更多小部件选项,请参阅 InfiniteList 类文档。