我在HTML文件流星模板:如何更改流星中呈現的模板?
<template name='main'> </template>
我渲染它用鐵路由器:
Router.route('/', function() { this.render('main'); });
現在我想呈現另一個模板替換「主」模板。怎麼做?
我在HTML文件流星模板:如何更改流星中呈現的模板?
<template name='main'> </template>
我渲染它用鐵路由器:
Router.route('/', function() { this.render('main'); });
現在我想呈現另一個模板替換「主」模板。怎麼做?
顯然你不想要另一條路線?
如果沒有,您可以在路由器中使用反應式變量。當你改變變量時,它會再次運行並呈現你的其他模板。 見http://eventedmind.github.io/iron-router/#hooks
var OnBeforeActions;
OnBeforeActions = {
whichMain: function() {
if (reactiveVar) {
this.render('otherMain');
}
else
this.next() ;
}
};
Router.onBeforeAction(OnBeforeActions.whichMain, {
only: ['Main']
});
或者使用動態模板您的主路由器裏面。
https://www.discovermeteor.com/blog/blaze-dynamic-template-includes/
謝謝! 你可以展示,如何在路由器中使用反應式變量?我認爲這是我需要的,但我不明白如何實施它。 由於應用邏輯,我不希望在這種情況下有另一條路由。 – 2014-10-06 21:07:43
不客氣 - 請看看這個:http://eventedmind.github.io/iron-router/#hooks 其中Meteor.user是使其重新運行的反應性變量。 我現在沒有時間去創建例子 - 我希望明天有。 – 2014-10-06 21:25:42
我試過從手機中添加例子 - 希望沒關係 – 2014-10-06 21:48:19
如果這個問題是關於鐵:路由器你應該將其標記爲這樣的,以避免混淆。你有更多的代碼可以展示,回答這個問題的工作量會減少。 – 2014-10-06 17:44:05
@BjornTipling謝謝你,我糾正了答案。 – 2014-10-06 19:33:19
我假設您想要將某個用戶操作的結果替換爲該模板。那會是什麼? – 2014-10-06 19:39:33