所以基本上我想做一些我可以用 Handlebars 在 ember 中做的事情,但不使用 ember,只使用sails.js 和 Handlebars 。
我这样设置sails项目:运行npm installsails-generate-views-handlebars
之后的sails new fooProject --template=handlebars
。
太好了,我有一个布局文件,我所有的文件都以 .handlebars
woot 结尾。
但我想做这样的事情:
观看次数:
views/index.handlebars
{{>header}}
{{yield}}
{{>footer}}
/views/partials/foo.handlebars
<div class="foo stuff">...</div>
路由器:
config/routes.js
'/': {
view: 'index',
controller: 'FooController',
action: 'index'
}
Controller :
Controller /FooController
index: function(req, res){
return res.view({partials: 'partials/foo'}); // <-- I want foo partial in the yield.
}
所以我最终得到了这个输出:
<header>...</header>
<div class="foo stuff">
<footer>...</footer>
每当我的用户导航时,我都希望将新的部分渲染到该 {{yield}}
block 中,而无需重新加载页面。但这不起作用,(我已经尝试过)。
那么我将如何做到这一点呢?
为了帮助阐明我想要的是一种单页应用程序的感觉,而不必使用前端框架。
最佳答案
没有前端框架就无法完成(或者如果你愿意,可以使用基本的 XHR/AJAX vanilla JS)。由于 Sails 是服务器端引擎并在服务器端呈现 View ,这意味着必须重新加载页面。
如果您想混合前端(部分负载)和后端(Sails) View 引擎,您可以使用任何前端框架,并从 Sails 的 View 中获取任何部分 View 。
关于javascript - Sails.js w/Handlebars(SPA 风格)中 Ember.js 产量的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009356/