Подтвердить что ты не робот

Эквивалент выхода Ember.js в Sails.js w/Handlebars (стиль SPA)

Итак, в основном я хочу сделать что-то, что я могу сделать в ember с рулями, но без использования ember только sails.js и handlebars.

Я создал проект парусов следующим образом: sails new fooProject --template=handlebars после запуска 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}} без перезагрузки страницы. Но это не работает (я пробовал). Итак, как бы я это сделал?

Чтобы прояснить, что я собираюсь сделать, это приложение с одной страницей, не использующее фреймворк.

4b9b3361

Ответ 1

Это невозможно сделать без рамки front end (или использовать базовый XHR/AJAX vanilla JS, если вы хотите). Поскольку Sails - это серверный движок и визуализация на стороне сервера, это означает, что страница должна быть перезагружена.

Вы можете использовать любую фреймворк front end и получать частичные виды из представлений Sails, а также, если вы хотите использовать механизм просмотра гибридного переднего конца (частичная загрузка) и back end (Sails).