要使用锚点路由功能,需要在先定义它。目前,对于定义的方法,我个人只发现在“初始化”阶段可以通过 $routeProvider 这个服务来定义。
在定义一个 app 时可以定义锚点路由:
<html ng-app="ngView">
... ...
<div ng-view></div>
<script type="text/javascript">
angular.module('ngView', [],
function($routeProvider){
$routeProvider.when('/test',
{
template: 'test',
}
);
}
);
</script>
首先看 ng-view
这个 directive ,它是一个标记“锚点作用区”的指令。目前页面上只能有一个“锚点作用区”。有人已经提了,“多个可命名”的锚点作用区的代码到官方,但是目前官方还没有接受合并,我觉得多个作用区这个功能是很重要的,希望下个发布版中能有。
锚点作用区的功能,就是让锚点路由定义时的那些模板, controller 等,它们产生的 HTML 代码放在作用区内。
比如上面的代码,当你刚打开页面时,页面是空白的。你手动访问 /#/test
就可以看到页面上出现了 'test' 的字样。
在 angular.bootstrap() 时也可以定义:
angular.bootstrap(document.documentElement, [
function($routeProvider){
$routeProvider.when('/test',
{
template: 'test'
}
);
}
]);