所以基本上我想做一些我可以用车把做的东西,但不使用ember只是sails.js和把手。
我在运行sails new fooProject --template=handlebars
之后设置了sails项目:npm install sails-generate-views-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'
}
控制器:
controllers/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}}
块而不重新加载页面。但那不行,(我试过)。
那我怎么做到这一点?
为了帮助澄清我的目标是单页应用程序的感觉,而不必使用前端框架。
答案 0 :(得分:2)
没有前端框架就无法做到(或者如果你愿意,可以使用基本的XHR / AJAX vanilla JS)。由于Sails是服务器端引擎和服务器端的渲染视图,这意味着必须重新加载页面。
您可以使用任何前端框架,如果您想要混合前端(部分加载)和后端(Sails)视图引擎,也可以从Sails的视图中获取任何部分视图。