Как сбросить приложение в Famo.us?

Если я создам контекст и добавлю макет и поверхности, но позже захочу перезапустить все приложение, есть ли способ сделать это?

Есть ли метод на движке?

В основном я спрашиваю, есть ли что-то противоположное Engine.createContext?


person Dan Baker    schedule 26.06.2014    source источник
comment
В настоящее время нет никакого способа, поскольку переменная contexts закрыта внутри синглтона Engine. Возможно, есть какой-то eval хакер, который мог бы это сделать, но я не уверен (плюс, это было бы чертовски уродливо). Вы можете отправить это как проблему здесь, github.com/Famous/core/issues/new . Обязательно объясните, зачем вам эта функциональность (я предполагаю, что вы хотите это для целей тестирования)   -  person Andrew De Andrade    schedule 27.06.2014
comment
Спасибо, моя цель - повторно применить изменяющийся объект конфигурации, который считывается для описания свойств поверхностей, переходов и т. д. Было бы здорово повторно запустить приложение при изменении этой конфигурации, если только не лучше сохранить ссылку на каждую поверхность и применить изменения непосредственно на пораженной поверхности?   -  person Dan Baker    schedule 27.06.2014


Ответы (1)


Вы можете использовать RenderController для добавления/удаления контента из дерева рендеринга:

// import dependencies
var Engine = require('famous/core/Engine');
var RenderNode = require('famous/core/RenderNode');
var RenderController = require('famous/views/RenderController');

// create context & render-controller
var context = Engine.createContext();
var renderController = new RenderController();
context.add(renderController);

function restart() {

    // create content you want to show
    var content = new AppView();

    // Show content
    var renderNode = new RenderNode(content);
    renderController.show(renderNode, {duration: 0});
}
restart();
person IjzerenHein    schedule 28.06.2014