Rya*_*yan 13 javascript node.js handlebars.js sails.js
所以基本上我想做一些我可以用车把做的东西,但不使用ember只是sails.js和把手.
我这样设置了sails项目:sails new fooProject --template=handlebars运行之后npm install sails-generate-views-handlebars.
太棒了我有一个布局文件,我的所有文件都以.handlebarswoot 结尾.
但我想做这样的事情:
浏览次数:
views/index.handlebars
{{>header}}
{{yield}}
{{>footer}}
Run Code Online (Sandbox Code Playgroud)
/views/partials/foo.handlebars
<div class="foo stuff">...</div>
Run Code Online (Sandbox Code Playgroud)
路由器:
config/routes.js
'/': {
view: 'index',
controller: 'FooController',
action: 'index'
}
Run Code Online (Sandbox Code Playgroud)
控制器:
controllers/FooController
index: function(req, res){
return res.view({partials: 'partials/foo'}); // <-- I want foo partial in the yield.
}
Run Code Online (Sandbox Code Playgroud)
所以我最终得到了这个输出:
<header>...</header>
<div class="foo stuff">
<footer>...</footer>
Run Code Online (Sandbox Code Playgroud)
无论何时我的用户导航,我都想将新的部分渲染到该{{yield}}块中,而无需重新加载页面.但那不行,(我试过).那我怎么做到这一点?
为了帮助澄清我的目标是单页应用程序的感觉,而不必使用前端框架.
如果没有前端框架,这是无法完成的(或者如果您愿意,可以使用基本的 XHR/AJAX vanilla JS)。由于 Sails 是服务器端引擎并在服务器端渲染视图,这意味着页面必须重新加载。
如果您想混合前端(部分负载)和后端(Sails)视图引擎,您可以使用任何前端框架,并从 Sails 视图中获取任何部分视图。
| 归档时间: |
|
| 查看次数: |
364 次 |
| 最近记录: |