【问题标题】:Unable to get the handlebar data into template无法将车把数据导入模板
【发布时间】:2013-08-25 02:12:47
【问题描述】:

我正在通过official documentation 学习 ember.js,并拥有以下包含 mustache 模板的 html 页面:

 <section id="main">
      <ul id="todo-list">
        {{#each controller}}
        <li {{bindAttr class="isCompleted:completed"}}>
          <input type="checkbox" class="toggle">
          <label>{{title}}</label><button class="destroy"></button>
        </li>
        {{/each}}
      </ul>

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

但是,问题在于浏览器将数据显示为:

{{#each controller}}
  {{title}}
{{/each}} 

不渲染提供给模板的种子数据。 我在正文标记结束之前有以下 javascript 声明:

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

  <script src="js/libs/application.js"></script>
  <script src="js/libs/router.js"></script>
  <script src="js/models/store.js"></script>
  <script src="js/models/todo.js"></script>

页面加载没有任何由 firebug 报告的错误。请让我知道我缺少什么。

【问题讨论】:

    标签: ember.js handlebars.js ember-data mustache


    【解决方案1】:

    我猜你错过了一些基本的东西 - 你的“模板”周围的把手脚本标签,data-template-name 应该根据你所在的路线命名,我在这里使用application 只是为了例子。在您提到的官方指南中,如果您在嵌入式 jsbin 中启用 html 面板,您会明白我的意思,在 body 标签下方是名为 todos 的包装脚本标签。

    <script type="text/x-handlebars" data-template-name="application">
     <section id="main">
      <ul id="todo-list">
        {{#each controller}}
        <li {{bindAttr class="isCompleted:completed"}}>
          <input type="checkbox" class="toggle">
          <label>{{title}}</label><button class="destroy"></button>
        </li>
        {{/each}}
      </ul>
    
      <input type="checkbox" id="toggle-all">
    </section>
    </script>
    

    希望对你有帮助。

    【讨论】:

    • 非常感谢,我一直在关注入门用户指南,但没有提到封闭脚本标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 2020-07-26
    • 1970-01-01
    相关资源
    最近更新 更多