我使用Ember,我的视图在HTML DOM的最底部呈现,而不是在div元素中呈现。以下是我的源代码:
index.html :
<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 :
Skills = Ember.Application.create({});
Skills.RecommendedSkillsListView = Ember.View.extend({
templateName: 'recommended_skills_list',
b: function(v) {
alert('new hello');
}
});
Skills.initialize();
呈现的文档:
<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)中使用相同的代码时,它可以按预期工作
发布于 2013-01-12 02:22:20
啊,它看起来像是将你的视图添加到你给出的'application‘模板名称的正文中,Ember将会寻找它。为什么不尝试在主体中放置一个div,然后在Ember.Application.create();中引用它呢?
Ember.Router
Skills = Ember.Application.create({
rootElement: '#test'
});
视图
<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>
如果我没有抓住要点,请告诉我;)
发布于 2013-01-12 03:15:48
您需要使用应用程序的rootElement
(docs here,相关问题:Emberjs rootElement)属性指定要呈现应用程序的元素:
Skills = Ember.Application.create({
rootElement: "#test"
});
下面是一个有效的示例:jsfiddle example
示例中的呈现输出:
<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>
https://stackoverflow.com/questions/14280696
复制相似问题