jquery 比较直白,什么都是操作dom 节点.

angularjs 就好比 thinkphp, ci 等框架,有自己约定的格式和方式。需要遵循它的规则,研究中。。。

比如说我,用了很长事件的jquery选择器,都已经忘了javascript 原生的dom选择器怎么使用

所以为了方便还是把jquery加了进来,毕竟单纯的用angularjs来开发项目还是不太靠谱。

1.怎么使用模版

  index.html

  

<!doctype html>
<html ng-app="ngRouteExample">
<head>
<meta charset="utf-8">
<meta name="fragment" content="!" />
<title>My HTML File</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery-2.1.1.min.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/common.js"></script>
<script type="text/javascript">
$('head').append('<base href="' + window.location.pathname + '" />');
</script>
</head>
<body>
<div ng-controller="MainController">
Choose:
<a href="#/Book/Moby">Moby</a> |
<a href="#/Book/Moby/ch/1">Moby: Ch1</a> |
<a href="#/Book/Gatsby">Gatsby</a> |
<a href="#/Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
<a href="#/Book/Scarlet">Scarlet Letter</a><br/> <div ng-view></div> <hr />
<pre>$location.path() = {{$location.path()}}</pre>
<pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
<pre>$route.current.params = {{$route.current.params}}</pre>
<pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
<pre>$routeParams = {{$routeParams}}</pre>
</div>
</body>
</html>

book.html

 controller: {{name}}<br />
Book Id: {{params.bookId}}<br />

chapter.html

 controller: {{name}}<br />
Book Id: {{params.bookId}}<br />
Chapter Id: {{params.chapterId}}

common.js

angular.module('ngRouteExample', ['ngRoute'])
.controller('MainController', function($scope, $route, $routeParams, $location) {
$scope.$route = $route;
$scope.$location = $location;
$scope.$routeParams = $routeParams;
}) .controller('BookController', function($scope, $routeParams) {
$scope.name = "BookController";
$scope.params = $routeParams;
}) .controller('ChapterController', function($scope, $routeParams) {
$scope.name = "ChapterController";
$scope.params = $routeParams;
}) .config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: 'BookController'
})
.when('/Book/:bookId/ch/:chapterId', {
templateUrl: 'chapter.html',
controller: 'ChapterController'
});
});

注意:一定要加载 angular-route.min.js(因为 angularjs 下载的时候并不包括angular.min.js);

  还有

  $('head').append('<base href="' + window.location.pathname + '" />');

  具体为什么可能是因为我的文件夹不在根目录下把,还是加上为好。

2.ajax全局事件怎么使用,比如说远程 提交或者获取数据的时候等待效果,怎么实现。

3.如果别人只获取到我们的url 怎么显示到这个页面。因为加载顺序等问题

使用锚点

这样就解决 url不能复制后粘贴不管用的问题了

实现原理就是 webserver 能识别url地址,识别后定位到 根目录,然后我们的 浏览器才能加载html和js 
在js中处理 这样的路由即可。

参考文档 http://www.yearofmoo.com/2012/11/angularjs-and-seo.html

用惯了jquery, 想用angularjs 还真不好理解的更多相关文章

  1. (十六)JQuery Ready和angularJS controller的运行顺序问题

    项目中使用了JQuery和AngularJS框架,近期定位一个问题,原因就是JQuery Ready写在了angularJS controller之前,导致JQuery选择器无法选中须要的元素(由于a ...

  2. jquery关于on click事件的理解

    jquery关于on click事件的理解 <pre><a style="min-width:60px; margin-left:6px;" wenzhangid ...

  3. Jquery想说爱你不容易

    JQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作.由John Resig在2006年1月的BarCamp NYC上发布第一个版本.目前是由 Dave M ...

  4. 混合使用Jquery Deferred和Angularjs的$timeout(转)

    原文链接:http://my.oschina.net/gejiawen0913/blog/174826 <!DOCTYPE html> <html ng-app="Demo ...

  5. jquery的ajax同步和异步的理解及示例

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...

  6. Jquery插件之ajaxForm ajaxSubmit的理解用法

      如今ajax满天飞,作为重点的form自然也受到照顾. 其实,我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如:   $(function(){ $( ...

  7. Jquery插件之ajaxForm ajaxSubmit的理解用法(转)

    我们在平常使用Jquery异步提交表单,一般是在submit()中,使用$.ajax进行.比如: $(function(){ $('#myForm').submit(function(){ $.aja ...

  8. jQuery的extend和fn.extend理解

    参考网址:http://www.cnblogs.com/yuanyuan/archive/2011/02/23/1963287.html http://www.cnblogs.com/xuxiuyu/ ...

  9. jquery, jquery-ui, requirejs, bootstrap 的关系理解

    jquery 是 基于 javascript 的一个语法衍生,更方便操作dom, 事件,css 整体来说更好用,更简洁. jquery-ui 是基于 jquery 实现的各种更好看,交互更友好的的界面 ...

随机推荐

  1. Python接口测试框架实战与自动化进阶✍✍✍

    Python接口测试框架实战与自动化进阶  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看 ...

  2. 面试系列18 rediscluster 原理

    一.节点间的内部通信机制 1.基础通信原理 (1)redis cluster节点间采取gossip协议进行通信 跟集中式不同,不是将集群元数据(节点信息,故障,等等)集中存储在某个节点上,而是互相之间 ...

  3. visual studio 2017--括号自动补全

    ---恢复内容开始--- 平常在visual studio中编写C++代码,一般括号之类的都是自动补全的,最近想用来编写Python,发现括号不能补全了,很不适应. Python编写时好像括号好像默认 ...

  4. open 和 release

    我们开始在真实的 scull 函数中使用它们. open 方法   open 方法提供给驱动来做任何的初始化来准备后续的操作. 在大部分驱动中, open 应当 进行下面的工作: 检查设备特定的错误( ...

  5. [NOIP2019模拟赛]夹缝

    夹缝 问题描述: 二维空间内有两面相对放置的,向无限远延伸的镜子,以镜子的方向及其法向量建立坐标系,我们选定一个法向量方向下面称“上”.在镜子上的整数位置,存在着一些传感器,传感器不影响光线的反射,光 ...

  6. SPOJ - The last digit

    https://vjudge.net/problem/SPOJ-LASTDIG 求最后一位,%10就完了 这个题居然要求代码小于等于700B #include <iostream> #in ...

  7. JSP四个域对象的应用场景

    request 如果客户向服务器发请求,产生的数据,用户看完就没用了,像这样的数据就存在request域 比如新闻数据,属于用户看完就没用的 session 如果客户向服务器发请求,产生的数据,用户用 ...

  8. [JZOJ4682] 【GDOI2017模拟8.11】生物学家

    题目 描述 题目大意 有一个010101序列,可以改变状态,每个状态改变都有固定的代价. 接下来有些人想要将一些位置改成特定的状态,如果按照他们要求做了就可以得到一些钱, 否则得不到,有时还要陪钱. ...

  9. Entity Framework Extended 批量删除

    public static class DbContextExtensions { public static void DeleteBatch<T>(this DbContext con ...

  10. 设置和修改Linux的swap分区大小

    在Linux编译gcc时,遇到编译错误,究其根源是因为内存不足,这时通过修改swap大小解决了问题 相关操作如下: 1. 查看当前分区情况free -m 2. 增加 swap 大小, 2G 左右dd ...