中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

angular1.x開發筆記

發布時間:2020-07-09 06:03:32 來源:網絡 閱讀:459 作者:csboyty 欄目:web開發

對于彈出層要使用獨立地址比較復雜,比如說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"];
<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>

這樣是不會顯示選中的,需要把track by去掉



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

镇远县| 彭泽县| 景东| 乳源| 武宣县| 资中县| 吴江市| 晋江市| 巴彦县| 三台县| 周口市| 柳河县| 哈巴河县| 舒城县| 武定县| 东乌珠穆沁旗| 怀宁县| 隆昌县| 壤塘县| 永和县| 延吉市| 新营市| 土默特左旗| 株洲市| 九龙县| 锦屏县| 衡山县| 察隅县| 徐闻县| 乌兰察布市| 万全县| 新密市| 巴楚县| 都江堰市| 汕尾市| 克什克腾旗| 沛县| 鹤庆县| 平谷区| 潞城市| 荆州市|