9.性能问题解决方法
1.prefixed.js 全部在编译之前弄完
ceshi: 114.465ms
ceshi: 106.195ms
优化前 393ms,452ms,429ms,365ms
首页执行速度: index: 14.190ms
hide() 方法速度非常慢
1105.920ms
css() 方法速度快
272.224ms
317.266ms
默认展开
: 0.584ms
: 13.121ms
163.259ms
174.228ms
ie 处理 244万的字符串插入到dom中运行速度非常慢
千万不要用 html() 方法, 可以用 innerHtml 方法替代。
innerHtml 比 html() 方法要快上n倍。
// 生成html,不要用 html() 方法,ie 处理会非常慢
// _scope._this.html(html);
header.js 150
jsgl 集中管理
jzgl-sjzj.js
iframe 跨域的话,父类不能操作 iframe里面的内容,如果需要操作,那么需要用 postMessage()
11. window.open('http://www.baidu.com','test-test')
此种写法ie9会报错,后面的名字不能用分割符,需要用驼峰命名
12.历史记录可以通过hash值进行判断,然后进行叶面的跳转
window.location.hash='#/homepage?asdasdasdasdioooqweqwejl'
13.limitTo angular 使用
1.截取文字的长度,可以是负数,负数代表从后面截取
<div ng-bind="'aaaaaaaabb'|limitTo:-2"></div>
2. 循环数组,直接限制多少条
<tr ng-repeat="item in scope.data.datalist | limitTo: 3"
14.ng-bind-html过滤了style,怎么解决?
$sce.trustAsHtml();
方法,如
$scope.docHtml= $sce.trustAsHtml(data);
15. angular 排序过滤器 | orderBy : param
<div ng-controller="ctl">
Search:<input ng-model="query">
Sort by:<select ng-model="order">
<option value="name">name</option>
<option value="age">age</option>
</select>
<ul class="persons">
<li ng-repeat="person in persons | orderBy:order">
{{person.name}}
{{person.age}}
</li>
<li>降序的写法</li>
<li ng-repeat="person in persons | orderBy:order:true">
{{person.name}}
{{person.age}}
</li>
</ul>
</div>
<script type="text/javascript">
function ctl($scope){
$scope.persons = [
{"name":"xingoo","age":25},
{"name":"zhangsan","age":18},
{"name":"lisi","age":20},
{"name":"wangwu","age":30}
];
$scope.order = "age";
}
</script>
15. angular 事件中存在 $event 对象 ,我们可以通过 $event 对象获取需要的元素
Angular event 源码 ngEventDirs.js:
var ngEventDirectives = {};
forEach(
'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '),
function(name) {
var directiveName = directiveNormalize('ng-' + name);
ngEventDirectives[directiveName] = ['$parse', function($parse) {
return {
compile: function($element, attr) {
var fn = $parse(attr[directiveName]);
return function(scope, element, attr) {
element.on(lowercase(name), function(event) {
scope.$apply(function() {
fn(scope, {$event:event});
});
});
};
}
};
}];
}
);
1. Angular支持的event: click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste
2. Angular在执行事件函数时候传入了一个名叫$event的常量,该常量即代表当前event对象,如果你在Angular之前引入了jQuery那么这就是jQuery的event.
-
« 上一篇:
addEvent 方法
-
在一个对象中找到目标元素,并且返回引用地址,值,和对象
:下一篇 »