ember,为什么我需要用这个包裹附加工作?

时间:2012-10-07 01:57:01

标签: javascript function append ember.js handlebars.js

我是使用ember的首发,我的问题很简单,我想在我的html中附加一个把手,简单,但是附加(在我的所有实验中)只有当我使用$(function(){...}进行包装时才能工作)。我不想使用它(如果可能......)。任何替代方案,解决方案,建议?

<!--handlebar-->
<script type="text/x-handlebars" data-template-name="text">
  <h1>Send the message:</h1>              
  <input {{action "clicked" on="click"}} {{bindAttr name="name_attribute"}}  value='click me!!' type="button"/>
</script>​

<script>
  //namespace
  App = Ember.Application.create();

  //define view 
  App.myview = Ember.View.extend({
    templateName: 'text',
    name_attribute:'name_buttooooon',               
    message: '',
    clicked: function(event) {
      jQuery('#templateHere').html((this.get('name_attribute')));
    }                               
  });

  //create view
  App.myview=App.myview.create();

  //insert view in body
  $(function() {
    App.myview.append('#templateHere');  //Why I need to wrap this line in $(function(){..})???
  });

</script>

<div id="templateHere"></div>

</body>

1 个答案:

答案 0 :(得分:2)

使用Ember.Application.ready在应用加载后执行操作:

App = Ember.Application.create(
  ready: function() {
    this.myview.append('#templateHere');
  }
);