fe3dback/moredraw

此包已被弃用,不再维护。作者建议使用fe3dback/kx-draw包。

Handlebars 双端包装器(js/php)- 任何地方都使用相同的模板并具有响应式更新

安装: 23

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:模板

dev-master 2018-10-12 18:21 UTC

This package is auto-updated.

Last update: 2022-02-01 13:03:30 UTC


README

请参阅v2版本: https://github.com/fe3dback/kx-draw

Build Status Coverage Status

MoreDraw

带有双向渲染(php/js)的智能Handlebars模板,只需一个模板即可进行响应式数据更新。基于zordius/lightncandy 和 handlebars解析器。

要求(安装)

安装PHP端

安装依赖

$ cd /your-project/
$ composer require fe3dback/moredraw

在项目初始化(配置等)(在我们使用模板渲染之前)

require_once 'vendor/autoload.php';

$moreDraw = new NeoHandlebars\MoreDraw();
$moreDraw->init([
  'templates_dir' => __DIR__ . '/templates', // where templates will be
  'cache_dir' => __DIR__ . '/tmp/cache' // where cache will be
]);

安装JS端(可选,仅用于js使用)

从此页面安装handlebars解析器(handlebars.min-latest.js): http://builds.handlebarsjs.com.s3.amazonaws.com/bucket-listing.html?sort=lastmod&sortdir=desc

或从官方网站: https://handlebars.node.org.cn/installation.html

在网站页脚(包括js文件的位置),添加js库

<!-- include official handlebars parser lib -->
<script src="/vendor/handlebars.min-latest.js"></script>

<!-- include moreDraw -->
<div style="display: none;">
  <!-- moredraw raw templates and partials -->
  <?=$moreDraw->getAllJSTemplates()?>
</div>

<script src="/moredraw/handlebars.js"></script>

使用

使用。服务器端

在模板文件夹中创建文件 examples/test.hbs。内容如下: hello {{name}}!

// _index is optional, only if we need provided data in js later
echo $moreDraw->render('examples/test', ['_index' => 'to_world', 'name' => 'world']); // Hello world!
echo $moreDraw->render('examples/test', ['_index' => 'to_universe', 'name' => 'universe']); // Hello universe!
使用。客户端
let data = MoreDraw.getData('examples/test', 'to_world'); // {'name' => 'world'}
data.name = data.name + " & me";
let html = MoreDraw.render('examples/test', data); // Hello world & me!