Angular.js routeProvider

时间:2015-10-09 14:20:42

标签: angularjs route-provider

我是angular.js的新手,并且很难理解routeProvider。在下面的代码中:

.when('/notes', {
  templateUrl: 'templates/pages/notes/index.html'
})

第一个是什么(' / notes',{...});代表? 附件是完整的代码段:

angular.module('NoteWrangler', ['ngRoute'])
.config(['$routeProvider', function($routeProvider) {

$routeProvider
.when('/notes', {
  templateUrl: 'templates/pages/notes/index.html'
})
.when('/users', {
  templateUrl: 'templates/pages/users/index.html'
})
  .when('/notes/new', {
  templateUrl: 'templates/pages/notes/edit.html'
})
    .otherwise({
    redirectTo: '/notes'    
});
}]);

2 个答案:

答案 0 :(得分:0)

如果您的网址中的网址中有#/ notes,则会重定向到该路线的templateUrl中指定的模板。 在上述情况中: url:domain /#/ notes template:index.html

答案 1 :(得分:0)

.when('/notes', {
  templateUrl: 'templates/pages/notes/index.html'
})

这意味着

当客户端(浏览器)请求路由" / notes" 例如http://localhost:8080/noteshttp://yourwebsite/notes

角度加载HTML页面 index.html 路径&模板/ pages / notes / index.html'

在您的应用中,您需要具有该文件夹结构

同样如此 '/users''/notes/new'

否则是一个全能的

.otherwise({
   redirectTo: '/notes'    
});

您未指定的任何其他路线均由此处理, 因此,在您的代码中,您强制重定向到/ notes(我假设是您的主页)

其他例子: 你也可以

.when('/notes', {
  template: '<div>Hello world!</div>'
})

将直接为您提供HTML而不是模板HTML页面

  

TL DR; 遇到此路线('/notes')时,我将为您提供此templateUrl个HTML页面