Ember.js在静态HTML中呈现多个视图
Ember.js Render multiple views inside static HTML
我是Ember的新手,一直在尝试渲染视图。上下文中的应用程序不是一个单页应用程序,但到目前为止,Ember一直表现得很好,直到我开始处理视图。
我试图在一个页面上呈现多个视图(这就像一个面板,有大量的静态HTML和几个容器,每个视图一个)。
示例HTML:假设我想呈现两个列表,一个在"左容器"div中,另一个在右容器中。
<div class="static-header></div>
<!-- more static content goes here -->
<div id="left-container"></div>
<!-- more static content goes here -->
<div id="right-container"></div>
...
我尝试过创建不同的视图并使用appendTo
方法插入它们(在Ember指南的"定义视图"一节中进行了描述),但它抛出了错误:
查找视图模板时找不到容器。这很可能是由于手动实例化Ember.View。请参阅:http://git.io/EKPpnA
我找不到使用它指向的链接的路。
徽章代码:
var App = Ember.Application.create({});
App.HomeViewLeft = Ember.View.extend({
templateName: 'home-left',
});
var view = App.HomeViewLeft.create();
view.appendTo('#left-container');
我还尝试过使用Ember api文档中描述的ContainerView:
App.HomeViewLeft = Ember.View.extend({
templateName: 'home-left',
});
var containerView = Ember.ContainerView.create({
classNames: ['container-view'],
});
containerView.pushObject(App.HomeViewLeft.create());
containerView.appendTo('left-container');
但我也犯了同样的错误。
我应该如何分别在#left容器和#right容器中渲染每个视图?提前谢谢。
模板:
<div id="here"></div>
<script type="text/x-handlebars" data-template-name="components/my-foo">
{{text}}
</script>
JS:
App = Ember.Application.create({});
Ember.Application.initializer({
name: 'stand-alone-components',
initialize: function(container, application) {
App.MyFooComponent.create({text: 'Hello World', container: container}).appendTo('#here');
}
});
App.MyFooComponent = Ember.Component.extend({
init: function() {
this._super();
this.set('layout', Ember.TEMPLATES['components/my-foo']);
}
});
http://emberjs.jsbin.com/nekowidera/1/edit?html,js,输出
看起来你正试图让视图表现得像部分
将任何静态内容移动到部分中,并将其包含在主模板中,如下所示:
{{partial "header"}}
要渲染的列表可以变成一个组件(如果其中唯一更改的是数据)。
因此,您最终得到一个包含部分和组件的单一视图:
<div class="static-header>{{partial "header"}}</div>
{{partial "static-content"}}
<div id="left-container">{{list-component data=firstList}}</div>
{{partial "static-content"}}
<div id="right-container">{{list-component data=secondList}}</div>
...
相关文章:
- angular.js没有'无法在PhoneGap中处理视图标记
- backbone.js无法渲染视图
- 在不破坏未定义函数的情况下,对多个视图使用单个js文件
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 删除移动视图粘性js上的粘性导航栏
- Backbone.js将模型绑定到视图时出错
- 如何在渲染视图时将变量传递给Node.js中的脚本标记
- Backbone.js视图中的多个模型
- 带有jquery插件的backbone.js视图
- node.js/javascript/couchdb视图到关联数组似乎不起作用
- 使用knockout.js将数组绑定到视图模型
- 如何在主干js中解析视图中的消息
- 似乎无法将功能绑定到骨干网中的视图.js
- 嵌套依赖主干.js具有 require.js 主干的视图.js导致视图作为对象而不是函数加载
- 如何在主干中显示视图.js(路由器.js中不显示警报)
- 如何从主干中的视图呈现视图.js
- Extjs 4 -停止控制器试图加载视图js
- “this.model"不工作的点击视图.JS支柱
- MVC部分视图js文件不工作调试
- Rails3视图- JS模板目录结构