主要问题在底部以粗体显示,但我将引导您了解我要问的内容和原因。
基本上,我现在一次只为用户做一件事情,并试图让他们选择在一页上显示所有内容。正在使用 PHP 将数据放在 html 中,但有兴趣改进我的代码并想知道带有 javascript 的 handlebars.js 是否更有意义,即使只是为了我自己的理智。
假设用户有一个列表,每个列表旁边都有复选框
[x] Option 1
[ ] Option 2
[ ] Option 3
...
[x] Option 20
对于每个选中的框,都会显示一个 html 块,其中包含来自数据库的信息。
现在,我每页只显示一个 html 块。PHP 在同一个页面上,抓取数据,并循环通过两个查询生成的 2 个数组,在 html 中使用内联 php 来生成当前的 html 块。
....
<div class="option-wrapper">
<?php foreach ( $option_list as $option ) : ?>
....
需要能够在同一页面上生成 1 到 20 次相同的代码块。我想我仍然可以使用 php inline 并遍历整个 html 块来为每个选定的选项创建另一个 html 块。
| Option 1 | | Option 20 |
| Title: Test1 | | Title: Test2 |
但我想知道为此目的使用 javascript 模板引擎是否有优势。我已经将 javascript 写入图表数据,目前我隐藏了存储 php 变量的 html 元素(其中 15 个来自两个数组),然后由我的 jQuery 提取。但我已经觉得在 html 中隐藏变量至少感觉是不好的做法。
<div id="total-users" style="display:none;"><?php echo $total_users ?></div>
....
var totalUsers = $('#total-users').html();
这可能是其中之一,如果你不得不问,这可能是不好的做法类型的问题。但是,老实说,这是不好的做法吗?
为了编写更高质量的代码,在 php 抓取所有数据之后使用 json_encode 会更好吗?然后在为每个选定选项克隆的 html 块中使用 javascript 模板引擎(如 handlebars.js)?
还有一件事,我将来可能希望能够使用每个块中的下拉菜单来切换动态显示的数据,这会改变哪条路线更有意义吗?
还有什么明显的我遗漏或做错了吗?
谢谢!