2016-07-24 40 views
0

我有一些模板對應不同的地方。我正在使用具有鏈接到不同位置(Manali)的導航欄。我想要在點擊特定鏈接時顯示相應的模板。我試着給每個錨鏈接分配id,並在主文件的#if循環中使用它。如下所示。流星:當用戶單擊導航鏈接時使用If條件有條件地顯示模板

{{#if equals id 'badrinath'}} 

{{> Manali}} 

{{/if} 

我還爲比較目的創建了一個輔助函數。

UI.registerHelper('equals', function(a, b) { 
    return a == b; 
}); 

但它不工作。任何人都可以提出解決方案我可以捕獲哪些鏈接的屬性並使用它來相應地顯示模板。

+0

基本上我想要的是像以下功能:Manali。但流星不允許在HTML標籤內使用模板。 – Tibin

回答

1

你聽起來在尋找「路由」功能。

您可能感興趣的Iron Router或流量路由器。

您仍然可以在沒有路由器的情況下實現您的功能,因爲它聽起來仍然是一個簡單的情況,如上所述。您可能只是缺少一些事件監聽器來將您的id變量設置爲正確的值。

大概是這樣的:

<a data-role="changetemplate" href="targetTemplate">To Target Template</a> 
var id = new ReactiveVar(); // add the reactive-var package 

Template.myTemplate.helpers({ 
    id: function() { 
    return id.get(); 
    } 
}); 

Template.myTemplate.events({ 
    "click a[data-role='changetemplate']": function (event) { 
    event.preventDefault(); 
    id.set(event.currentTarget.href); 
    } 
}); 
+0

對不起..我忘了更新在這裏..我已經解決了這個通過使用鐵路由器..感謝和抱歉.. :) – Tibin

+0

Router.route('/ manali',function(){ this.render('task9' ); }); – Tibin