首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在DOM底部呈现的Ember视图

在DOM底部呈现的Ember视图
EN

Stack Overflow用户
提问于 2013-01-11 22:57:16
回答 2查看 3K关注 0票数 16

我使用Ember,我的视图在HTML DOM的最底部呈现,而不是在div元素中呈现。以下是我的源代码:

index.html :

代码语言:javascript
复制
<body>
  <div id="test">
    <script type="text/x-handlebars">
      {{view Skills.RecommendedSkillsListView}}
    </script>
  </div>

  <script type="text/x-handlebars" data-template-name="recommended_skills_list">
  <a href="#" {{action "b"}}>DO A NEW THING</a>
  </script>

  <script src="js/libs/jquery-1.8.3.min.js"></script>
  <script src="js/libs/handlebars-1.0.rc.1.js"></script>
  <script src="js/libs/ember-1.0.0-pre.2.js"></script>
  <script src="js/app.js"></script>
</body>

app.js :

代码语言:javascript
复制
Skills = Ember.Application.create({});
Skills.RecommendedSkillsListView = Ember.View.extend({
  templateName: 'recommended_skills_list',
  b: function(v) {
      alert('new hello');
  }    
});
Skills.initialize();

呈现的文档:

代码语言:javascript
复制
<body class="ember-application">
  <div id="test"></div>

  <script src="js/libs/jquery-1.8.3.min.js"></script>
  <script src="js/libs/handlebars-1.0.rc.1.js"></script>
  <script src="js/libs/ember-1.0.0-pre.2.js"></script>
  <script src="js/app.js"></script>

  <div id="ember135" class="ember-view">
    <div id="ember140" class="ember-view">
      <a href="#" data-ember-action="1">DO A NEW THING</a>
    </div>
  </div>
</body>

注意:当在以前版本的ember (0.9.5)中使用相同的代码时,它可以按预期工作

EN

回答 2

Stack Overflow用户

发布于 2013-01-12 02:22:20

啊,它看起来像是将你的视图添加到你给出的'application‘模板名称的正文中,Ember将会寻找它。为什么不尝试在主体中放置一个div,然后在Ember.Application.create();中引用它呢?

Ember.Router

代码语言:javascript
复制
Skills = Ember.Application.create({
  rootElement: '#test'
});

视图

代码语言:javascript
复制
<body>
  <div id="test"></div>

  <script src="js/libs/jquery-1.8.3.min.js"></script>
  <script src="js/libs/handlebars-1.0.rc.1.js"></script>
  <script src="js/libs/ember-1.0.0-pre.2.js"></script>
  <script src="js/app.js"></script>

  <div id="ember135" class="ember-view">
    <div id="ember140" class="ember-view">
      <a href="#" data-ember-action="1">DO A NEW THING</a>
    </div>
  </div>
</body>

如果我没有抓住要点,请告诉我;)

票数 22
EN

Stack Overflow用户

发布于 2013-01-12 03:15:48

您需要使用应用程序的rootElement (docs here,相关问题:Emberjs rootElement)属性指定要呈现应用程序的元素:

代码语言:javascript
复制
Skills = Ember.Application.create({
    rootElement: "#test"
});

下面是一个有效的示例:jsfiddle example

示例中的呈现输出:

代码语言:javascript
复制
<body>
  <div id="test" class="ember-application">
    <div id="ember135" class="ember-view">
      <div id="ember140" class="ember-view">
        <a href="#" data-ember-action="1">DO A NEW THING</a>
      </div>
    </div>
  </div>
</body>
票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14280696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档