0

我陷入了一些我尝试在 Angular js 中实现的主干概念。在backbonejs中,我们可以将模板(html页面)添加到特定的div标签中,然后我们可以呈现该div本身。可以在angularjs中做同样的事情吗?将模板添加到 div 并渲染它?</p>

4

2 回答 2

0

您可以在标签中抛出一个模板,script并通过 id 从ngIncludeand引用它ngView

文档: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>
于 2013-05-29T01:38:38.933 回答
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);
于 2013-06-25T22:03:55.137 回答