2015-09-22 3 views
0

У меня есть следующие настройки для модуля:Durandal - Активировать ViewModels без маршрутизатора

  • Shell (есть маршрутизатор)
    • модуль Workspace
      • Screen1
      • Screen2

Я хочу, чтобы рабочее пространство показывало пару разных видов, собирало информацию из них и отправляло некоторые данные в мой api. Я начал путь с дочерним маршрутизатором на рабочей области, но это означает, что на экранах так что отключен, что у меня нет средств для получения объектов экранной модели. Это означает, что у меня нет способа связаться с рабочей средой, чтобы они сделали то, что им нужно. Меня также беспокоит «образ жизни» различных моделей просмотра - я бы сделал что-то вроде import workspace = require('workspaceViewMode');, но я не уверен, какой экземпляр рабочей области, который будет доставлен.

Каков правильный подход? Является ли дочерний маршрутизатор лучшим методом, или я должен пытаться использовать «активатор» (борясь с документами для этого) напрямую?

ответ

0

Ну, попробовав и просмотрев документацию, похоже, что, поскольку рабочее пространство имеет дочерний маршрутизатор, экземпляр остается во время навигации. Я протестировал это, указав на себя руководство по активации и проверив, что guid на импортированном экземпляре в каждой экранной модели экрана.

Итак, мое решение заключается в предоставлении методов в рабочей области для экранов для вызова, после чего рабочее пространство решит, что с ними делать.

Фу!

Смежные вопросы