Как вы передаете переменные в оболочку или модель корневого представления

Я новичок в Дюрандале. Мне просто интересно, есть ли способ передать переменные в модель корневого представления, также известную как оболочка, либо через строку запроса, либо любым другим способом?

поэтому main.js выглядит примерно так, как показано ниже.

define(['durandal/app'],  function (app) {
  app.configurePlugins({
    router: true
  });

  app.start().then(function () {
    app.setRoot('shell');
  });
});

Можете ли вы сделать что-то похожее на то, что написано ниже в файле shell.js. Я пробовал, но это не работает

function activate(variableIwantToPass) {
  doSomething(variableIwantToPass);
  configureRoutes(variableIwantToPass);
  return router.activate();
}

function configureRoutes(variableIwantToPass) {
  var specialRoute = 'bar';
  if(variableIwantToPass == 'foo') {
    specialRoute = foo;
  }
  var routes = [
    {
      route: '',
      moduleId: 'home'
    },
    {
      route: 'doThings/:specialRoute/',
      moduleId: 'orchestrator'
    }
  ];

  router.makeRelative({ moduleId: 'viewModels'}).map(routes); 
}

Я не могу позвонить в службу, чтобы получить данные в оболочке, поскольку нужная мне информация/переменная передается на страницу, которая ведет к спа-салону в качестве параметра строки запроса.

Итак, можно ли передать что-то в оболочку, или есть ли другая альтернатива для достижения того, что я хочу. Например, создать файл cookie для хранения этой переменной и прочитать ее через javascript в shell.js?


person Mayoweezy    schedule 27.10.2015    source источник
comment
Можете ли вы сказать, что что-то вроде приведенного ниже в файле shell.js не имеет для меня смысла, не могли бы вы перефразировать это?   -  person Shelvacu    schedule 27.10.2015


Ответы (1)


В рабочей среде ENV почти обязательно выполнять определенные вычисления перед оболочкой. Например, взгляните на Durandal.Auth на github и на то, как обрабатывается аутентификация, а информация о токенах хранится в хранилище сеансов и доступна в оболочке.

person Community    schedule 15.11.2015