0

ember.js 面临一个奇怪的问题,即当我将“data-template-name”属性添加到脚本标签时,没有任何效果。如果删除了 data-template-name 名称,则一切正常。

  This is NOT WORKING 
   <script data-template-name="my-template"  type="text/x-handlebars">
    Input: 
    {{#view App.MyView}}
    {{view Ember.TextField 
           valueBinding="view.theValue"        
           placeholder="input ..." }}
    {{/view}}
</script>




  Now if **data-template-name="my-template"** is removed it works fine. 
I mean, In UI  TextField is visible.

  <script   type="text/x-handlebars">
    Input: 
    {{#view App.MyView}}
    {{view Ember.TextField 
           valueBinding="view.theValue"        
           placeholder="input ..." }}
    {{/view}}
</script>




App.MyView = Ember.View.extend({
templateName: 'my-template',
theValue: null,
init: function(){
    this._super();
    this.set('theValue','asdf');
},
keyDown: function(e){
   if(e.keyCode === 13){
        alert(this.get('theValue'));
   }
}

});

4

1 回答 1

3

好的,不用担心 jsfiddle,这是一个好的开始:)。ember.js 网站上有一个链接,您可以在其中找到起点,包括 Ember.js 相关来源:http ://emberjs.com/community/

话虽如此,在创建这样的 Ember.js 应用程序时,有一个隐式默认匿名模板,然后您可以在其中定义自己的模板。

 <!-- default template, introducing the view App.MyView -->
 <script type="text/x-handlebars">
  {{view App.MyView}}
 </script>

<!-- template of App.View -->
<script data-template-name="my-template"  type="text/x-handlebars">
  Input: 
  {{view Ember.TextField 
         valueBinding="view.theValue"        
         placeholder="input ..."}}
</script>​

脚本:

App.MyView = Ember.View.extend({
  templateName: 'my-template',
  theValue: null,
  init: function(){
    this._super();
    this.set('theValue','asdf');
  }
});​

这是您的示例的工作示例:

http://jsfiddle.net/6p6XJ/171/

于 2012-12-10T21:10:03.487 回答