2012-12-06 50 views
32

是否可以将html页面嵌入另一个角度js中?Angular JS和partials

如果是这样,该怎么办?

Here在他们的教程中,部分内容并未嵌入到页面中,但它就像点击其中一个项目时不同的页面。 (see demo

回答

32

是的,你可以使用ngInclude指令。

查看文档和例子在这里:http://docs.angularjs.org/api/ng.directive:ngInclude

+22

太可怕了。没有办法在不调用新请求的情况下包含部分内容,例如,作为初始HTML载荷中的可重用片段? – davidgoli

+0

正是我需要的。显然,这应该谨慎使用,但它完美地重新用于我的登录表单。 – RevNoah

+9

@davidgoli,据我所知,角缓存加载模板以避免后续请求。 –

6

如果ng-include是不是你需要什么,你可能要检查出角UI路由器模块。它允许您执行嵌套和并行视图...它非常好,灵活,易于使用且有良好的文档记录。 https://github.com/angular-ui/ui-router

7

@Wilt是正确的,但这里是一个更具体的链接和代码示例(从https://github.com/angular-ui/ui-router/wiki/Quick-Reference#ui-view

在你的根模板:

<div ui-view></div> 
<div ui-view="chart"></div> 
<div ui-view="data"></div> 

而在你的app.config功能

$stateProvider.state("home", { 
    views: { 
     "": { 
      template: "<h1>Some HTML</h1>" 
     }, 
     "chart": { 
      templateUrl: "templates/chart.html" 
     }, 
     "data": { 
      template: "<data_thing/>" 
     } 
    }  
})