2015-04-30 23 views
0

我得到2流星應用程序的錯誤。這些是以下錯誤。我正在使用accounts-ui-bootstrap-3,並試圖在layout.html內顯示我的標題模板。流星未捕獲TypeError:無法讀取未定義的屬性'推'

這是我的一些錯誤代碼。

Uncaught TypeError: Cannot read property 'push' of undefined 

Uncaught Error: There are multiple templates named 'layout'. Each template needs a unique name. 

^^儘管我只有一個名爲layout的模板。

代碼:

的layout.html

<template name="layout"> 
    <div class="container"> 
    {{>header}} 
    <div id="main" class="row-fluid"> 
    {{>yield}} 
    </div> 
    </div> 
</template> 

了header.html

<template name="header"> 
    <header class="navbar"> 
    <div class="navbar-inner"> 
     <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </a> 
     <a class="brand" href="{{pathFor 'postsList'}}">Test</a> 
     <div class="nav-collapse collapse"> 
     <ul class="nav pull-right"> 
      <li>{{> loginButtons}}</li> 
     </ul> 
     </div> 
    </div> 
    </header> 
</template> 

爲什麼沒有顯示loginbuttons?

Router.js

Router.configure({ 
layoutTemplate: 'layout', 
loadingTemplate: 'loading', 
waitOn: function() { return Meteor.subscribe('posts'); } 
}); 
Router.map(function() { 
this.route('postsList', {path: '/'}); 

this.route('postPage', { 
    path: '/posts/:_id', 
    data: function() { return Posts.findOne(this.params._id); } 
}); 
}); 
+0

你的router.js是什麼樣的? – cwahlfeldt

+0

我現在加入! – crsMC

回答

1

你使用的地鐵站:帳戶的用戶界面,引導-3或伊恩:帳戶的用戶界面,引導-3 ?如果你使用mrt:accounts-ui-bootstrap-3,它將不起作用,因爲不再支持。使用ian:accounts-ui-bootstrap-3來代替。

0

可以省略li元素的登錄按鈕。改變你的標題包含看起來像這樣{{> header}},注意小插曲。

編輯:

而不是使用一個Router.map的請嘗試使用Router.route這樣的:

Router.route('/', { 
    name: 'postsList' 
}); 

Router.route({'/posts/:_id', 
    name: 'postPage', 
    data: function() { 
    return Posts.findOne(this.params._id); 
    } 
}); 
+0

當我補充說我的屏幕消失,即使你說的是對的 – crsMC

+0

這很奇怪...檢查我的編輯,也許這將有所幫助。 – cwahlfeldt

+0

當我完成這個操作時,在控制檯中出現錯誤 – crsMC

相關問題