利用AngularJS实现一个单页应用
看了下angular 的route,用它做个非常简单的单页面应用,记录一下。
顺便说下,好处是,页面改变时不需要刷新,而每个页面都展现不同的数据。尤其在使用模板页的时候,非常方便。
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中。《HTML开发Mac OS App 视频教程》
- 土豆网同步更新:http://www.tudou.com/plcover/VHNh6ZopQ4E/
- 百度网盘同步:http://pan.baidu.com/s/1jG1Q58M
- 分享 [中文纪录片]互联网时代 http://pan.baidu.com/s/1qWkJfcS
官方QQ群:(申请加入,说是我推荐的)
- App实践出真知 434558944
- App学习交流 452180823
一 示例
项目结构:
index.html
script.js
------pages
---------home.html
---------about.html
---------cantact.html
项目代码
<1>.index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<!DOCTYPE html> < html ng-app = "scotchApp" > < head > < title >Angular Routing Example</ title > < link rel = "stylesheet" href = "libs/bootstrap/css/bootstrap.min.css" /> < link rel = "stylesheet" href = "libs/font-awesome-4.3.0/css/font-awesome.css" /> </ head > < body ng-controller = "mainController" > < header > < nav class = "navbar navbar-default" > < div > < div > < a href = "/" >Angular Routing Example</ a > </ div > < ul class = "nav navbar-nav navbar-right" > < li >< a href = "#home" >< i class = "fa fa-home" ></ i > Home</ a ></ li > < li >< a href = "#about" >< i class = "fa fa-shield" ></ i > About</ a ></ li > < li >< a href = "#contact" >< i class = "fa fa-comment" ></ i > Contact</ a ></ li > </ ul > </ div > </ nav > </ header > < div id = "main" > < div ng-view></ div > </ div > < script src = "libs/angular1.3.15/angular.min.js" ></ script > < script src = "libs/jquery2.1.3/jquery.min.js" ></ script > < script src = "libs/angular1.3.15/angular-route.min.js" ></ script > < script src = "script.js" ></ script > </ body > </ html > |
<2>.script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
var appModule = angular.module( 'scotchApp' , [ 'ngRoute' ]); // configure our routes appModule.config( function ($routeProvider) { $routeProvider // route for the home page .when( '/home' , { templateUrl : 'pages/home.html' , controller : 'mainController' }) // route for the about page .when( '/about' , { templateUrl : 'pages/about.html' , controller : 'aboutController' }) // route for the contact page .when( '/contact' , { templateUrl : 'pages/contact.html' , controller : 'contactController' }) .otherwise( '/home' ); }); var mainCtrl = function ($scope){ $scope.message = 'Everyone come and see how good I look!' ; } var aboutCtrl = function ($scope){ $scope.message = 'Look! I am an about page.' ; } var contactCtrl = function ($scope){ $scope.message = 'Contact us! JK. This is just a demo.' ; } appModule.controller( 'mainController' , mainCtrl); appModule.controller( 'aboutController' , aboutCtrl); appModule.controller( 'contactController' , contactCtrl); |
<3>.运行效果:
二 遇到的问题:
出现错误:Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
解决:因为我是以文件的形式打开的,由于chrome 的设置问题,只支持http, data, chrome, chrome-extension, https, chrome-extension-resource 这些格式,不支持file:///xxxx.html 这种格式,所以会出现这个问题。
方法一:启动chrom 参数
--allow-file-access-from-files
方法二:启动tomcat,把你的文件全扔到webapps 里,然后在浏览器里访问,就可以了。
三 关于移除 url 中的 # 号
1.在config 中,添加:
$locationProvider.html5Mode(true);
2.在html 中,设置base,比如:
1
|
< base href = "/Xxxxwebapp/" > |
3.将href 的 # 号去掉,即可。
==》目前存在问题:刷新页面的时候,会出现错误。
利用AngularJS实现一个单页应用的更多相关文章
- vue入门(三)----使用vue-cli搭建一个单页富应用
上面两节我们说了vue的一些概念,其实说的知识一点基础,这部分知识我觉得更希望大家到官网进行学习,因为在这里说的太多我觉得也只是对官网的照搬照抄而已.今天我们来学习一下vue-cli的一些基础知识,并 ...
- [Angularjs]asp.net mvc+angularjs+web api单页应用
写在前面 最近的工作一直在弄一些h5的单页应用,然后嵌入到app的webview中.之前一直在用angularjs+html+ashx的一套东西.实在是玩腻了.然后就尝试通过asp.net mvc的方 ...
- [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
写在前面 前篇文章整理了angularjs学习目录,有园子里的朋友问我要这方面的demo,周末也没什么事,就在之前的单页应用的demo上面添加了增删改查的操作.代码比较简单,这里只列举比较重要的代码片 ...
- 前端 JS 原生 javascript 和 location.hash 实现一个单页应用的路由 router
开篇日常立个flag-- 前言 最近在做一些应用,类似于单页应用,想实现类似于 Vue 路由的效果. 但是个人 Vue 基础四舍五入约等于无,而且看着 Vue-router 吃力+用不起来(因为我的项 ...
- github新建一个单页
比如可以在github上打开的网页是这种网址形式的:https://01xunsicheng.github.io/yumeihua/ 1.登录后首页找到 New repository 2.新建一个文件 ...
- AngularJS中的route可以控制页面元素的改变,使多页面变成一个单页面。。。
SPA(Single Page Application)指的是通单一页面展示所有功能,通过Ajax动态获取数据然后进行实时渲染,结合CSS3动画模仿原生App交互,然后再进行打包(使用工具把Web应用 ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- nginx + 一个端口 部署多个单页应用(history模式)
目前web开发 使用一般前后端分离技术,并且前端负责路由.为了美观,会采用前端会采用h5 history 模式的路由.但刷新页面时,前端真的会按照假路由去后端寻找文件.此时,后端必须返回index(i ...
- nginx 一个端口布署多个单页应用(history路由模式)。
目前web开发 使用一般前后端分离技术,并且前端负责路由.为了美观,会采用前端会采用h5 history 模式的路由.但刷新页面时,前端真的会按照假路由去后端寻找文件.此时,后端必须返回index(i ...
随机推荐
- HDU 1501 - dp
传送门 题目大意: 问两个词能不能加错拼成一个第三个词. 题目分析: dp方程还是很好想:dp[i][j]表示第一个词前i个和第二个词前j个能不能拼成第三个词的前i+j个. 初始化如果s1[1] == ...
- 一起学Python:多线程-共享全局变量
多线程-共享全局变量 from threading import Thread import time g_num = 100 def work1(): global g_num for i in r ...
- 【项目积累】对JSON数据的处理
[项目简述] 接触.NET项目非常长一段时间了,前台用的都是MVC框架.不知道大家是否想过一个问题.我们是怎样将数据显示到前台的,换句话说,MVC能够识别怎么样的数据形式?答案非常ea ...
- BZOJ 1003 ZJOI2006 物流运输trans 动态规划+SPFA
标题效果:给定一个无向图.输送n日,有一天的某一时刻不能去,更换行考虑k,求总成本 一阶cost[i][j]用于第一i为了天j天正在同一航线的最低消费 这种利用SPFA处理 然后就是移动的法规问题 订 ...
- 根坤 eclipse配置android开发环境并搭建第一个helloWord工程
一.搭建Android在eclipse下环境 一.JDK(不用安装 下载地址: http://www.xp510.com/xiazai/Application/program/23625.ht ...
- 支付(异步通知notify_url 与 同步通知return_url的区别)
同步通知和异步通知发送的数据没有本质的区别:同步通知有2个作用:第一是从支付宝的页面上返回自己的网站继续后续操作:第二是携带支付状态的get参数:让自己的网站用于验证: 同步通知后:还需要异步通知主要 ...
- 王立平--GC
Gabage Collection:垃圾回收 是.net中对内存管理的一种功能. 垃圾回收器跟踪并回收托管内存中分配的对象,定期运行垃圾回收以回收分配给没有有效引用的对象的内存. 当使用可用内存不能满 ...
- WPF-3D动效-文字球形环绕
原文:WPF-3D动效-文字球形环绕 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013224722/article/details/81784 ...
- WPF中使用cefsharp
原文:WPF中使用cefsharp 新入职一家公司,由写服务端接口变成了软硬件通信.服务器.客户端.C/S.B/S乱七八糟各种打杂.首先接收一个WPF项目,因为不熟WPF,再加上前端我也不熟,我打算使 ...
- poj1548Robots dfs实践
//搜索每一行 //该生产线的整点已被清除 //然后位置,然后转移到下一个步走的最后一点 //然后,所有点的下面一行清晰 //然后重复上面的操作 #include<iostream> #i ...