如何从路由器发送数据到任何js模块中的激活方法

时间:2015-04-09 06:40:50

标签: javascript durandal-2.0 durandal-navigation

route: ['category/'+ reports ],
moduleId: 'Admin/report/reportad',
title: reports, nav:  1,

// another js module             
self.actiate(context) 
{ //want to get the router categories(**reports** is an array)details here
}

如何从路由器发送数据以激活任何js模块中的方法

1 个答案:

答案 0 :(得分:0)

您将路由器注入模块,因为它是一个单独的对象,这可以让您访问路由器所需的任何内容。

//route definition {route: product/:id, moduleId: 'product', title: 'Product Details', nav: false}

define(['knockout','router'], function (ko, router){ 
  var routeData = ko.observable();

  return {
    router: router,
    activate: activate,
  };


  function activate(id){
    routeData(id);
  }
});

需要注意的一点是路线上的任何参数都会被注入到激活方法中供模块使用。