整理以前笔记时,发现几个简单的无聊的AngularJS
知识点。
- 实现修改 URL, 不刷新页面
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16`use strict`
angular.module("App")
.run(function($rootScope, $route, $location, $routeParams) {
// 重写 $location.path 实现修改 url, 但不刷新页面。
var original = $location.path;
$location.path = function (path, reload) {
if (reload === false) {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
}
return original.apply($location, [path]);
};
});
- 统计
angularJS
的watchers
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16(function () {
var root = $(document.getElementsByTagName('body'));
var watchers = [];
var f = function (element) {
if (element.data().hasOwnProperty('$scope')) {
angular.forEach(element.data().$scope.$$watchers, function (watcher) {
watchers.push(watcher);
});
}
angular.forEach(element.children(), function (childElement) {
f($(childElement));
});
};
f(root);
console.log(watchers.length);
})();
只是想找个地方记录一下。。。