2013-07-10 58 views
4

首先,我是一個新用戶,所以如果這不是提問這個問題的地方,或者問題是泄漏的細節,請告訴我,我會做所需的調整。使用手柄最終不會顯示任何東西

我是Ember.JS的新手,我最近通過閱讀getting started guide開始學習。

在本指南中,我已經處理了下一個問題的早期階段:

各個階段的工作順利,直到我需要更新我的index.html包裹的<body>內的內容在此階段手柄腳本標籤:

<script type="text/x-handlebars" data-template-name="todos">.....</script> 

正如本指南的第5步中所述。

我經過這麼我的窗口結束行動顯示什麼(除了背景圖像)

這裏是我的文件看起來像(層次):

https://dl.dropboxusercontent.com/u/24149874/image.png

而那些是指南中前幾步相關文件的內容:

index.html

<!doctype html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Ember.js • TodoMVC</title> 
    <link rel="stylesheet" href="style.css"> 
    </head> 
    <body> 
    <script type="text/x-handlebars" data-template-name="todos"> 
     <section id="todoapp"> 
      <header id="header"> 
      <h1>todos</h1> 
      <input type="text" id="new-todo" placeholder="What needs to be done?" /> 
      </header> 

      <section id="main"> 
       <ul id="todo-list"> 
       <li class="completed"> 
        <input type="checkbox" class="toggle"> 
        <label>Learn Ember.js</label><button class="destroy"></button> 
       </li> 
       <li> 
        <input type="checkbox" class="toggle"> 
        <label>...</label><button class="destroy"></button> 
       </li> 
       <li> 
        <input type="checkbox" class="toggle"> 
        <label>Profit!</label><button class="destroy"></button> 
       </li> 
       </ul> 

       <input type="checkbox" id="toggle-all"> 
      </section> 

      <footer id="footer"> 
       <span id="todo-count"> 
       <strong>2</strong> todos left 
       </span> 
       <ul id="filters"> 
       <li> 
        <a href="all" class="selected">All</a> 
       </li> 
       <li> 
        <a href="active">Active</a> 
       </li> 
       <li> 
        <a href="completed">Completed</a> 
       </li> 
       </ul> 

       <button id="clear-completed"> 
       Clear completed (1) 
       </button> 
      </footer> 
     </section> 

     <footer id="info"> 
      <p>Double-click to edit a todo</p> 
     </footer> 
    </script> 

    <script src="libs/jquery-1.10.js"></script> 
    <script src="libs/handlebars.js"></script> 
    <script src="libs/ember.js"></script> 
    <script src="libs/ember-data-0.13.js"></script> 

    <script src="application.js"></script> 
    <script src="router.js"></script> 

    </body> 
</html> 

的application.js

window.Todos = Ember.Application.create(); 

router.js

Todos.Router.map(function() { 
this.resource('todos', { path: '/' }); 
}); 

當然,我試圖找到其他相關職位的答案,但沒有我發現是有幫助。

感謝您的幫助!

+0

只是要注意,我忘了腳本的src名稱。這是造成這個問題的原因。我試過投票刪除,因爲我不確定這會對任何人有任何幫助。 – giluna

回答

1

我猜想這裏唯一缺少的是application模板本身。

試圖定義一個這樣的:

<script type="text/x-handlebars" data-template-name="application"> 
    {{outlet}} 
</script> 

<script type="text/x-handlebars" data-template-name="todos"> 
    ... 
</script> 

{{outlet}}在這裏,因爲你需要告訴燼哪裏注入你todos模板是很重要的。

查看here作爲一個工作示例,css文件沒有包含在內,所以一切都搞砸了,但基本設置正常。

希望它有幫助。

0

FWIW,我遇到了同樣的問題,結果發現我的js文件夾中的jQuery文件與本教程的html中的jQuery文件不同。這是一個簡單的錯誤,但是一個讓我有點太長的注意。

1

除了jQuery文件,甚至手柄文件的名稱也被錯誤地寫入index.html文件中。

修改與下面的代碼index.html文件:

<script src="js/libs/jquery-1.10.2.min.js"></script> 
<script src="js/libs/handlebars-1.0.0.js"></script> 

而且在接下來的步驟,注意因爲代碼的js文件名爲JS/app.js或JS/application.js中在github上有文件名稱爲app.js,而網站將文件名稱顯示爲application.js。