對(duì)于彈出層要使用獨(dú)立地址比較復(fù)雜,比如說login是一個(gè)彈出層,但是又給它配了/login的地址,這種處理起來有些復(fù)雜
定義一個(gè)監(jiān)聽location改變的類,然后每次到了彈出層的地址就根據(jù)地址顯示彈出層
services.service('LocationChanger',?['$location',?'$route',?'$rootScope',???? ????function?($location,?$route,?$rootScope)?{???? ????????this.rootScopeEvent=null;???? ????????//阻止ngView的刷新,返回this是方便鏈?zhǔn)秸{(diào)用???? ????????this.skipReload?=?function?()?{???? ????????????var?lastRoute?=?$route.current;???? ????????????var?me=this;???? ????????????//這里綁定過后面會(huì)一直響應(yīng),關(guān)閉彈出層的時(shí)候要取消綁定,綁定的時(shí)候會(huì)返回取消綁定的函數(shù)???? ????????????me.rootScopeEvent=$rootScope.$on('$locationChangeSuccess',?function?()?{???? ????????????????$route.current?=?lastRoute;???? ????????????????//相應(yīng)過后,立即取消綁定的事件???? ????????????????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只能有一個(gè),用其插件ui-rotuer可以實(shí)現(xiàn)多個(gè)view
https://github.com/ui-router/angular
由于其內(nèi)部采用全監(jiān)聽模式,每次改動(dòng)一個(gè)model會(huì)更新所有的model,當(dāng)model達(dá)到一定數(shù)量后,性能上有些吃力,有一些優(yōu)化的建議
https://blog.51cto.com/13934921/2163063
對(duì)animate支持不友好,沒有完善的回調(diào)模式,animate的性能也不盡人意,有時(shí)候需要人為的邏輯控制
在resource中默認(rèn)會(huì)去掉結(jié)尾的“/”,使用下面這句代碼加上對(duì)結(jié)尾“/”的支持
$resourceProvider.defaults.stripTrailingSlashes?=?false;
$http.post 和 $resource action post的區(qū)別
$http.post 使用 $http.post(url, postData, [config]);
params是在config中設(shè)置,例如$http.post("#",{"a":1},{params:{}});
resource action post中是
Resource.action([parameters], postData, [success], [error])
這個(gè)parameters是顯示申明的,但是是可選參數(shù),也就是說如果url中沒有參數(shù),是可以不帶這個(gè)參數(shù)的,在action的定義的時(shí)候都可以不指定params屬性
但是如果有params,這里有兩種方式使用,一種params中的數(shù)據(jù)在postData中沒有,那么使用的時(shí)候就要顯示的帶parameters這個(gè)參數(shù),如果是postData中有,那么可以不帶,直接用postData中的,只是params的定義的時(shí)候需要將值通過@符號(hào)進(jìn)行映射
xxxx:?{ ????method:?"post",?url:?xxxx }
xxxx:?{ ????method:?"post",?url:?xxxx, ????params:?{formId:?""} } xxxx({formId:xxxxx},?formData).then();?//formData中沒有formId這個(gè)參數(shù)
xxxx:?{ ????method:?"post",?url:?xxxx, ????params:?{formId:?"@formId"} } xxxx(formData).then();?//formData有formId這個(gè)參數(shù)
select 對(duì)象 multiple的時(shí)候,使用track by會(huì)導(dǎo)致不能返現(xiàn)
$scope.tags?=?[{id:"xxx",title:"xxx"},{id:"ddd",title:"ddd"}]; $scope.selected?=?["xxx"]; <select?ng-options="item.item?as?item.title?for?item?in?tags?track?by?item.id"?name="multipleSelect"?id="multipleSelect"?ng-model="selected"?multiple> </select>
這樣是不會(huì)顯示選中的,需要把track by去掉
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁標(biāo)題:angular1.x開發(fā)筆記-創(chuàng)新互聯(lián)
路徑分享:http://aaarwkj.com/article36/jdhpg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、App設(shè)計(jì)、網(wǎng)站改版、品牌網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容