Javascript 版本2.4.1上的ember.js循环失败

Javascript 版本2.4.1上的ember.js循环失败,javascript,ember.js,Javascript,Ember.js,我有以下来自ember 1.10教程点的代码。它很好用 <!DOCTYPE html> <html> <head> <title>Emberjs displaying list of items</title> <!-- CDN's--> <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.

我有以下来自ember 1.10教程点的代码。它很好用

<!DOCTYPE html>
<html>
   <head>
      <title>Emberjs displaying list of items</title>
      <!-- CDN's-->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.1/handlebars.min.js"></script>
      <script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script>
      <script src="http://builds.emberjs.com/tags/v1.10.0-beta.3/ember-template-compiler.js"></script>
      <script src="http://builds.emberjs.com/release/ember.debug.js"></script>
      <script src="http://builds.emberjs.com/beta/ember-data.js"></script>
   </head>
   <body>
      <script type="text/x-handlebars">
         <ul>
           <!-- Getting each value of the myArray -->
            {{#each value in App.myArray}}
               <!-- diplaying the values -->
               <li>{{value}}</li>
            {{/each}}
         </ul>
      </script>

      <script type="text/javascript">
         var App = Ember.Application.create()
         //creating the array
         App.myArray = ['Mona','Manu','Mack']
      </script>
   </body>
</html>

显示项目列表
    {{{#App.myArray中的每个值}
  • {{value}}
  • {{/每个}}
var App=Ember.Application.create() //创建数组 App.myArray=['Mona','Manu','Mack']
但是如果我从

  <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script>


然后代码停止工作,没有出现错误。我的第一个问题是如何让它在2.4下工作

我的第二个问题是,即使在版本1.1下,如果我使用id=“{value}}”,它也不会工作。如何将{{}分配给DOM元素id,如下所示

<!DOCTYPE html>
<html>
   <head>
      <title>Emberjs displaying list of items</title>
      <!-- CDN's-->
      <script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.5/handlebars.min.js"></script>
      <script src="https://code.jquery.com/jquery-2.2.1.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/ember.js/1.10.0/ember.min.js"></script>
      <script src="http://builds.emberjs.com/tags/v1.10.0-beta.3/ember-template-compiler.js"></script>
      <script src="http://builds.emberjs.com/release/ember.debug.js"></script>
      <script src="http://builds.emberjs.com/beta/ember-data.js"></script>
   </head>
   <body>
      <script type="text/x-handlebars">
         <ul>
           <!-- Getting each value of the myArray -->
            {{#each value in App.myArray}}
               <!-- diplaying the values -->
               <li id="{{value}}">{{value}}</li>
            {{/each}}
         </ul>
      </script>

      <script type="text/javascript">
         var App = Ember.Application.create()
         //creating the array
         App.myArray = ['Mona','Manu','Mack']
      </script>
   </body>
</html>

显示项目列表
    {{{#App.myArray中的每个值}
  • {{value}
  • {{/每个}}
var App=Ember.Application.create() //创建数组 App.myArray=['Mona','Manu','Mack']
更新: 我改变了新的语法如下,但它仍然无法工作

   <body>
      <script type="text/x-handlebars">         
        <ul>
          {{#each App.people as |person|}}
            <li>Hello, {{person}}!</li>
          {{/each}}
        </ul> 
      </script>

      <script type="text/javascript">
         var App = Ember.Application.create()
         //creating the array
         App.people = ['Mona','Manu','Mack']
      </script>
   </body>  

    {{{每个App.people作为{个人}}
  • 你好,{{person}} {{/每个}}
var App=Ember.Application.create() //创建数组 App.people=['Mona','Manu','Mack']
Ember 2.x不会从模板中进行全局查找,因此像
SomeConst.someProperty
这样的代码正在查找名为
SomeConst
的局部属性,而不是全局变量

它将仅对其上下文(如果模板由路由器呈现,则为控制器实例;如果模板由组件呈现,则为更常见的组件实例)执行本地查找


下面是一个您正在尝试的工作示例:

Ember 2.x不会从模板中执行全局查找,因此类似于
SomeConst.someProperty的代码正在查找名为
SomeConst
的局部属性,而不是全局变量

它将仅对其上下文(如果模板由路由器呈现,则为控制器实例;如果模板由组件呈现,则为更常见的组件实例)执行本地查找


下面是一个您正在尝试的工作示例:

我不确定这样使用全局变量是否适用于2.x。由于每个语法也不受支持,因此应该是
{{#each someArray as | value |}
。我建议您遵循更新的参考资料,如官方指南。嗨,locks,谢谢您的回复。新语法也不起作用。我不确定这样使用globals在2.x上是否有效。每个语法也不受支持,应该是
{{每个someArray作为| value |}
。我建议您关注更新的资源,如官方指南。嗨,locks,谢谢您的回复。新语法也不起作用。嗨,崔克,非常感谢。你救了我一天:)嗨,崔克,非常感谢。你救了我一天:)
   <body>
      <script type="text/x-handlebars">         
        <ul>
          {{#each App.people as |person|}}
            <li>Hello, {{person}}!</li>
          {{/each}}
        </ul> 
      </script>

      <script type="text/javascript">
         var App = Ember.Application.create()
         //creating the array
         App.people = ['Mona','Manu','Mack']
      </script>
   </body>