2016-03-12 30 views
0

失败,我从tutorialpoint上烬1.10以下代码。它工作正常。ember.js环路上的版本2.4.1

<!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> 

但是,如果我改变的版本从

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

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

然后代码停止,没有错误的工作。我的第一个问题是我如何才能在2.4下工作?

我的第二个问题是,即使在1.1版本中,如果我使用的id =“{{值}}”这是行不通的。我该如何分配{{}}到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> 

更新: 我改成如下新的语法,但它仍然是行不通的。

<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> 
+1

我不知道用这样的全局上2.x的工作,将每个语法也不支持,它应该是'{{#each作为的someArray |值| }}'我建议你遵循更近的资源,如官方指南。 – locks

+0

喜,锁具,感谢您的答复。新的语法简化版,更好地工作,。 – Shawn

回答

3

灰烬2.x的不会从模板中进行全局查找,所以像SomeConst.someProperty代码寻找一个名为SomeConst,而不是一个全局变量本地财产。

如果模板是由路由器,或者更常见渲染它只会做本地查找其上下文(或者是控制器实例,如果模板是由组件渲染组件的实例。

这里是一个工作你想什么例子:http://jsbin.com/racacitiko/1/edit?html

+0

嗨,迷航,非常感谢你。你救了我的一天:) – Shawn