我陷入了一些主干的概念,我试图在角度js中实现。 在backbonejs中,我们可以将模板(html页面)添加到特定的div标签中,我们可以渲染该div本身。 angularjs可以做同样的事吗?将模板添加到div并渲染它?
答案 0 :(得分:0)
您可以在script
代码中投放模板,并使用ngInclude
和ngView
中的ID引用该代码:
文档:http://docs.angularjs.org/api/ng.directive:script
示例:http://jsfiddle.net/guilleferrer/bxdrA/1/
<div ng-app="">
<script type="text/ng-template" id="/tpl.html">
Content of the template.
</script>
<ng-include src="'/tpl.html'"></ng-include>
</div>
答案 1 :(得分:0)
我建议使用ui-router。它允许您在模板的根目录中包含多个“视图”。例如
<div ui-view="header"></div>
<div class="container-fluid">
<div class="row-fluid">
<div class="span2 main-menu-span">
<div class="nav-collapse sidebar-nav">
<ul ui-view="nav-bar" class="nav nav-tabs nav-stacked main-menu"></ul>
</div><!--/.well -->
</div>
<div id="content" class="span10" ui-view="main">
<div ui-view="breadcrumbs"></div>
</div>
</div>
</div>
</div>
在您的模块配置对象中:
var tickets = {
name: 'tickets',
url: '/tickets',
abstract: true,
views: {
'header': {
templateUrl: 'header.tpl.html'
},
'nav-bar': {
templateUrl: 'nav-bar.html'
},
}
};
var list = {
name: 'tickets.list',
parent: 'tickets',
url: '',
views: {
'main@': {
templateUrl: 'list.tpl.html',
controller: TicketQueue,
},
},
};
$stateProvider.state(tickets);
$stateProvider.state(list);