我已经逐渐意识到手柄的简单性,但是有一件事我仍然觉得有点贬值,并且想知道是否有更简单的解决方案。
问题:
设置把手的简单方法
// Extract the text from the template .html() is the jquery helper method for that
var raw_template = $('#simple-template').html();
// Compile that into an handlebars template
var template = Handlebars.compile(raw_template);
// Retrieve the placeHolder where the Posts will be displayed
var placeHolder = $("#main");
// Create a context to render the template
var context = {posts:
[
{title: "First Post", entry: "You can't stop me now!", author: "Sandy Duster"},
{title: "2nd Post", entry: "Alice you are going in the wrong way."},
{title: "3rd Post", entry: "Mate, Where is my burger?"},
{title: "4th Post", entry: "The rainmaker day"},
]
}
// Generate the HTML for the template
var html = template(context);
// Render the posts into the page
placeHolder.append(html);
以上所有内容目前都是使用一个手柄模板将内容添加到一个容器ID(#main)所需的内容。
如果我决定使用不同的模板向更多容器添加内容,我必须编译它,检索占位符容器,为模板生成html,并将其附加到占位符中。我必须为每个不同的模板文件执行此操作。
我的IDEAL场景是调用上下文或JSON数据ONCE:
var context = {posts:
[
{title: "First Post", entry: "You can't stop me now!", author: "Sandy Duster"},
{title: "2nd Post", entry: "Alice you are going in the wrong way."},
{title: "3rd Post", entry: "Mate, Where is my burger?"},
{title: "4th Post", entry: "The rainmaker day"},
]
}
然后SIMPLY浏览正文中的内容并插入{{page [0] .name}},{{imageURL}},添加内容块等,而无需单独定义模板。就像wordpress查询帖子并显示内容一样简单,查询数据库一次,然后浏览页面添加查询内容。
squarespace开发人员平台的工作方式与此类似,您不必插入模板或编译和渲染,只需在{{。title title}}中添加html即可。
所以我的问题是,我可以采用一种简单的方形空间吗?或者,squarespace只是为了这种方便而开发了大量的后端代码?
很抱歉,如果这听起来像一个令人困惑的问题,我只想要最简单的方法:
SCRIPT TO LOAD JSON CONTENT
<body>
{INCLUDE HEADER BLOCK HERE}
<h1>{ADD TITLE HERE}</h1>
{ADD CONTENT HERE}
</body>
没有重复编译,定义容器变量,渲染。