AngularJS路由以及模块配置
来源:互联网 发布:制作发光字软件 编辑:程序博客网 时间:2024/05/22 10:33
<!DOCTYPE html> <html lang="en" ng-app="App"> <head> <meta charset="UTF-8"> <title>AngularJS 路由-参数,模块配置,布局模板</title> <style> body { padding: 0; margin: 0; background-color: #F7F7F7; font-family: Arial; } .wrapper { max-width: 980px; margin: 50px auto; } ul { padding: 0; margin: 0; overflow: hidden; list-style: none; background-color: #000; border-radius: 4px; } li { float: left; width: 120px; height: 40px; text-align: center; line-height: 40px; font-size: 18px; } li.active { background-color: #333; } li a { display: block; color: #FFF; text-decoration: none; } .content { margin-top: 30px; font-size: 24px; padding: 0 20px; } </style> </head> <!-- 路由: 一个应用是由若个视图组合而成的,根据不同的业务逻辑展示给用户不同的视图 ,路由则是实现这一功能的关键. 在后端开发中通过URL地址可以实现页面(视图)的切换,但是AngularJS是一个纯前端MVC框架, 在开发单页面应用时,所有功能都在同一页面完成,所以无需切换URL地址(即不允许产生跳转), 但Web应用中又经常通过链接(a标签)来更新页面(视图),当点击链接时还要阻止其向服务器发起请求, 通过锚点(页内跳转)可以实现这一点。 路由参数: 1、提供两个方法匹配路由,分别是when和otherwise,when方法需要两个参数, otherwise方法做为when方法的补充只需要一个参数,其中when方法可以被多次调用。 2、第1个参数是一个字符串,代表当前URL中的hash值。 3、第2个参数是一个对象,配置当前路由的参数,如视图、控制器等。 a、template 字符串形式的视图模板 b、templateUrl 引入外部视图模板 c、controller 视图模板所属的控制器 d、redirectTo跳转到其它路由 4、获取参数,在控制中注入$routeParams可以获取传递的参数 SPA:(Single Page Application)指的是通单一页面展示所有功能, 通过Ajax动态获取数据然后进行实时渲染, 结合CSS3动画模仿原生App交互, 然后再进行打包(使用工具把Web应用包一个壳, 这个壳本质上是浏览器)变成一个“原生”应用。 在PC端也有广泛的应用,通常情况下使用Ajax异步请求数据,然后实现内容局部刷新, 局部刷新的本质是动态生成DOM,新生成的DOM元素并没有真实存在于文档中, 所以当再次刷新页面时新添加的DOM元素会“丢失”,通过单页面应可以很好的解决这个问题 SPA(单页面应用条件): 1、只有一页面 2、链接使用锚点 hashchange: AngularJs实现单一页面可以通过hashchange事件监听到锚点的变化, 进而可以实现为不同的锚点准备不同的视图,单页面应用就是基于这一原理实现的。 AngularJS对这一实现原理进行了封装,将锚点的变化封装成路由(Route),这是与后端路由的根本区别。 --> <body> <div class="wrapper"> <!-- 导航菜单 --> <ul> <li class="active"> <a href="#/index">Index</a> </li> <li> <a href="#/introduce">Introduce</a> </li> <li> <a href="#/contact">Contact Us</a> </li> <li> <a href="#/list">List</a> </li> </ul> <!-- 内容 --> <div class="content"> <!--4 布局模板 占位符 --> <div ng-view></div> </div> </div> <!-- AngularJS核心框架 --> <script src="./libs/angular.min.js"></script> <!-- 1 路由模块理解成插件 --> <script src="./libs/angular-route.js"></script> <script> //2 实例化模块(App)时,当成依赖传进去(模块名称叫ngRoute) var App = angular.module('App', ['ngRoute']); //3 配置路由模块,使其正常工作 App.config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/index', { // template: '<h1>index Pages!</h1>', templateUrl: './abc.html' }) .when('/introduce', { template: '<h1>introduce Pages!</h1>' }) .when('/contact', { // template: '<h1>contact US Pages!</h1>', templateUrl: './contact.html', controller: 'ContactController' // 定义控制器 }) .when('/list', { templateUrl: './list.html', // 视图模板 controller: 'ListController' // 定义控制器 }) .otherwise({ redirectTo: '/index' }); }]); // 列表控制器 App.controller('ListController', ['$scope', '$http', function ($scope, $http) { // 模型数据 // $scope.items = ['html', 'css', 'js']; $http({ url: 'xxx.php', }).success(function (info) { $scope.items = info; //php 返回值['html', 'css', 'js']; }); }]); App.controller('ContactController', ['$scope', '$http', function ($scope, $http) { $http({ url: 'contact.php' }).success(function (info) { $scope.content = info; }); }]); </script> </body> </html>
0 0
- AngularJS路由以及模块配置
- angularjs路由配置$route以及案例展示
- angularjs二、路由配置
- AngularJS 配置路由
- AngularJS 路由配置对象
- angularJS 路由模块--未实现
- AngularJS路由的简单配置
- AngularJS的路由、模块、依赖注入
- Angularjs的路由,模块和依赖注入
- angularjs学习笔记(三) 路由模块
- AngularJs路由、模块、依赖注入案例
- angularJs模块ui-router之路由控制
- AngularJs学习二--路由、模块、依赖注入
- AngularJS配置.run()块中设置路由事件的监听器以及过滤未经授权的请求。
- AngularJS中的路由、模块化以及依赖注入
- AngularJs路由以及创建内部HTML
- AngularJs模块加载 配置块
- angularJS的路由配置——转
- 贝叶斯模型比较
- 优秀Java程序员的编程风格
- CCF之最优灌溉(java)
- 三年计划
- Enumeration基础
- AngularJS路由以及模块配置
- Linux入门基础---提供看懂linux书籍的能力,实习自学
- 蓝桥杯 暗恋 简单搜索 java
- 关于字符串的常用操作 截取substring、分割split、替换replace
- Node.js npm uuid
- 2、web(asp.net):ASP.NET应用程序与页面生命周期
- linux2.6内核SD Card Driver详细解析之一
- 关于西门子PLC中数据类型的使用
- A Discriminative Feature Learning Approach for Deep Face Recognition 的源码部分分析