angular1.x开发笔记-创新互联
对于弹出层要使用独立地址比较复杂,比如说login是一个弹出层,但是又给它配了/login的地址,这种处理起来有些复杂
在西市等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站制作、成都网站设计 网站设计制作定制网站,公司网站建设,企业网站建设,成都品牌网站建设,成都营销网站建设,外贸网站制作,西市网站建设费用合理。定义一个监听location改变的类,然后每次到了弹出层的地址就根据地址显示弹出层
services.service('LocationChanger', ['$location', '$route', '$rootScope', function ($location, $route, $rootScope) { this.rootScopeEvent=null; //阻止ngView的刷新,返回this是方便链式调用 this.skipReload = function () { var lastRoute = $route.current; var me=this; //这里绑定过后面会一直响应,关闭弹出层的时候要取消绑定,绑定的时候会返回取消绑定的函数 me.rootScopeEvent=$rootScope.$on('$locationChangeSuccess', function () { $route.current = lastRoute; //相应过后,立即取消绑定的事件 me.rootScopeEvent(); }); return me; }; this.cancelReload=function(){ //取消$rootScope.$on('$locationChangeSuccess'的绑定 if(typeof this.rootScopeEvent ==="function"){ this.rootScopeEvent(); } return this; }; this.withReplace = function (url, doesReplace) { if(doesReplace){ $location.path(url).replace(); } else { $location.path(url || '/'); } return this; }; }]); LocationChanger.skipReload().withReplace();
ng-view只能有一个,用其插件ui-rotuer可以实现多个view
https://github.com/ui-router/angular
由于其内部采用全监听模式,每次改动一个model会更新所有的model,当model达到一定数量后,性能上有些吃力,有一些优化的建议
https://blog.51cto.com/13934921/2163063
对animate支持不友好,没有完善的回调模式,animate的性能也不尽人意,有时候需要人为的逻辑控制
在resource中默认会去掉结尾的“/”,使用下面这句代码加上对结尾“/”的支持
$resourceProvider.defaults.stripTrailingSlashes = false;
$http.post 和 $resource action post的区别
$http.post 使用 $http.post(url, postData, [config]);
params是在config中设置,例如$http.post("#",{"a":1},{params:{}});
resource action post中是
Resource.action([parameters], postData, [success], [error])
这个parameters是显示申明的,但是是可选参数,也就是说如果url中没有参数,是可以不带这个参数的,在action的定义的时候都可以不指定params属性
但是如果有params,这里有两种方式使用,一种params中的数据在postData中没有,那么使用的时候就要显示的带parameters这个参数,如果是postData中有,那么可以不带,直接用postData中的,只是params的定义的时候需要将值通过@符号进行映射
xxxx: { method: "post", url: xxxx }
xxxx: { method: "post", url: xxxx, params: {formId: ""} } xxxx({formId:xxxxx}, formData).then(); //formData中没有formId这个参数
xxxx: { method: "post", url: xxxx, params: {formId: "@formId"} } xxxx(formData).then(); //formData有formId这个参数
select 对象 multiple的时候,使用track by会导致不能返现
$scope.tags = [{id:"xxx",title:"xxx"},{id:"ddd",title:"ddd"}]; $scope.selected = ["xxx"];
这样是不会显示选中的,需要把track by去掉
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:angular1.x开发笔记-创新互联
本文地址:http://myzitong.com/article/jdhpg.html