2016-03-12 29 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