Javascript 带参数的durandal.js导航
我无法使用paraparameter从一个视图导航到另一个视图 发件人:-Javascript 带参数的durandal.js导航,javascript,single-page-application,durandal,sammy.js,Javascript,Single Page Application,Durandal,Sammy.js,我无法使用paraparameter从一个视图导航到另一个视图 发件人:- ViewModel : App/Foldername/page1.js View : App/Foldername/page1.html 我想使用id参数: ViewModel : App/Foldername/page2.js View : App/Foldername/page2.html 在page1.js中,我写了以下内容: self.goTopage2 = function (id) {
ViewModel : App/Foldername/page1.js
View : App/Foldername/page1.html
我想使用id参数:
ViewModel : App/Foldername/page2.js
View : App/Foldername/page2.html
在page1.js中,我写了以下内容:
self.goTopage2 = function (id) {
router.mapRoute('Foldername/page2/:id', 'viewmodels/Foldername/page2', 'This is page2view');
};
在shell.js中
function boot() {
router.mapNav('home');
router.mapNav('details');
router.mapNav('Foldername/page2');
log('Hot Towel SPA Loaded!', null, true);
return router.activate('home');
}
请给我指路 一种常见的方法是在某个地方有一个路由列表并加载该列表。定义如下所示的列表时,需要使用router.map()来映射路由,因为mapNav创建了一个没有参数的默认路由。包含路由的对象的示例-
var routes = [{
url: 'home',
moduleId: 'viewmodels/home',
name: 'Home',
visible: true,
settings: {}
}, {
url: 'events',
moduleId: 'viewmodels/events/events',
name: 'Events',
visible: true,
settings: {}
}, {
url: 'eventdetails/:id',
moduleId: 'viewmodels/events/eventdetails',
name: 'Event Details',
visible: false,
settings: { event: true, show: false }
}];
以及如何绘制这些路线图-
router.map(routes);
router.activate('home');
最后,如何访问这些路线-
router.map(routes);
router.activate('home');
或
(DurandalJS 1.2.0)我不完全确定这是否是最好的方法,因为我对Durandal很陌生,但至少我成功地使它与此配合使用:
在main.js中:
router.mapRoute('details/:id', 'viewmodels/details', 'Details', false);
loadDetails: function (id) {
router.navigateTo('#/details/' + id);
},
在list.js中:
router.mapRoute('details/:id', 'viewmodels/details', 'Details', false);
loadDetails: function (id) {
router.navigateTo('#/details/' + id);
},
你在看哪个版本的durandal?