我想在不刷新/更改页面的情况下将“路由与div关联”与Iron Router。我会尽量保持清醒。
我有一个div,当你到达页面时没有显示(例如: / home ),但已经存在。
当您点击某些内容(框,文字,...)时,网址会发生变化( / home / box1 )并显示div,其中包含我之前提供给路线的一些数据。 但我希望能够在不刷新页面的情况下做到这一点,只是为了看到div出现在同一页面中。
那么,是否可以使用Iron Router以及如何使用?
感谢您的帮助。
答案 0 :(得分:1)
如果您尝试在两个路径上显示相同的模板,但只在其中一个路径上显示div,则可以将数据传递到模板中。 render方法接受第二个参数,它是一个对象。您将该对象上的data属性设置为返回包含所有数据值的对象的函数。然后,您可以从模板中访问它们,就像插入模板时已定义它们一样。
Router.route('/home', function() {
this.render('Home');
});
Router.route('/home/box1', function() {
this.render('Home', {
data: function() {
return {
showDiv: true
}
}
}
});

<head>
</head>
<body>
</body>
<template name="Main">
<p>Always showing</p>
{{#if showDiv}}
<p>Only showing when on /home/box1 route</p>
{{/if}}
</template>
&#13;
注意:无论您身在何处,都不会保留您所在的页面。 I.E.如果你想在/ other和/ other / box1路由上执行此操作。如果这是您正在寻找的行为,我也可以帮助您。