摘要:同時,由于本身的實現大部分是純函數,因此在版本中,一些不含副作用的均在中暴露了以為前綴的函數方法,也可以直接導入使用。在瀏覽器中神秘丟失嘗試檢查被請求的是否存在尾部斜線,具體原因暫時沒有找到相關資料。
寫在前面
最近沒怎么寫新的東西,一是因為一直在準備換新的工作,所以一直在準備面試,二是因為過年,心靜不下來,所以也無法輸出或者翻譯一些文章,三是由于手頭還有一些遺留工作需要完成和交接,比較忙。
但是忙里偷閑還是整理了一些零碎的筆記,大體都是關于工作中遇到的實際問題或者衍生問題,比較亂,但還是具有一定的參考意義,所以整理出來分享給大家,有的知識點包含一個或多個參考鏈接以及一段描述,有的只包含一段描述,但我覺的都足以描述解決問題的思路了。
其實我感覺這種記錄性的學習方式還挺好的,以后會繼續堅持,然后每攢夠 10 個就整理成一篇文章,一來可以幫助自己溫故知新,二來可以幫助更多的人。
如何獲取一個元素盒的 baseline 的位置?https://stackoverflow.com/que...
原理為在元素盒末尾添加兩個內容為 X 的且 vertical-align 位置默認值的子元素,之后將第二個子元素的 font-size 設置為 0,這樣由于默認情況下元素的垂直對齊方式是與父元素盒的 baseline 對齊的,由于 font-size: 0 的緣故,該元素的 top 也與 baseline 對齊,因此就可以通過 getBoundingClientRect 分別獲取兩個子元素的 top 值并求差取得。
但要注意的是,這樣求得的 baseline 的位置并不一定是最原始的位置,因為 baseline 的位置會根據行內子元素的樣式動態地發生改變,關于改變的規則,可參考這篇文章。
Object.keys(new Set([1, 2, 3]) 的值是什么?https://github.com/30-seconds...
應該是 [],有興趣的可以閱讀 es 標準中有關這部分的章節。
那么如何判定一個 set 是否為空呢?可以直接通過其實例屬性 `size 來判定,比如
new Set([1, 2, 3]).size // 3當 table 的 border-collapse 樣式屬性為 collapse 時,懸浮 td 邊框顯示不完整
https://stackoverflow.com/que...
可以將 td 的 border-style 樣式屬性設置為 double,如下:
td: hover { border-style: double; }獲取 es6 中 class 的 name ?
可以通過 this.constructor.name 來獲取。原理是 constructor 本身其實是一個函數,而 js 中的每個函數均有 name 屬性指向其函數名,而 class 的 name 恰恰就是 constructor 的函數名,因此可以通過這種方式獲得。
Angular 中的 animation 模塊如何在運行時動態傳入 styles ?之所以遇到這個問題,是因為在使用 @angular/animation 的過程中,當動畫的目標狀態無法提前定義時,如何聲明 AnimationMetadata,比如窗口縮放動畫,你無法預知運行時的窗口縮放大小。
這部分內容在官方文檔中沒有示例,僅在 api 文檔 中提了一下,其本質上就是利用 animation params 來動態地在運行時傳入某個動畫狀態下的某個 style 屬性,比如縮放動畫中涉及的 width 或者 height 屬性。
另外還有一個問題就是,當在使用 animate() 時,其第一個參數暫時不支持 animation-fill-mode,這就會造成當完成一個動畫時,無法指定其動畫的終止狀態,比如在聲明縮放動畫時,縮放動畫會按預期進行,但當動畫交互完畢后,其元素樣式又恢復到了動畫發生之前的樣式了。
暫時的解決方法是通過 ngStyle 來暫存動畫的終止狀態并綁定到相應的 dom 元素上,這樣當動畫完成時,其元素樣式就會是動畫終止時的狀態了。
Angular 中的 NgZone.run() 和 ChangeDetectorRef.detectChanges() 的區別?https://stackoverflow.com/que...
NgZone.run() 會在應用整體,自上而下全部進行臟檢查校驗,而 cdr.detectChanges() 僅僅會對某個具體的組件進行臟檢查。
從適用角度來講,大部分情況適用 cdr.detectChanges() 和 cdr.markForCheck() 已經足夠滿足日程工作需求了,但有些時候,當頁面有多個組件的 UI 層狀態與數據層狀態不一致時,使用 NgZone.run() 則更好。
另外,一些工具庫的源碼實現中,為了盡可能的提高性能,都會使用 NgZone.runOutsideAngular() 將與 UI 層無關的邏輯移出臟檢查校驗流程,比如 cdk 中的 ScrollDispatcher,在使用時如果最終需要與一些組件的 UI 層狀態發生關系,應當手動管理臟檢查機制來觸發這些變動。
Angular 中如何在 service 和 component 中使用 pipe ?https://stackoverflow.com/que...
pipe 本身即是 provider ,因此可以通過依賴注入的方式獲取相應實例并使用,但是別忘了在 NgModule 的 providers 屬性中聲明。
同時,由于 pipe 本身的實現大部分是純函數,因此在 v6 版本中,一些不含副作用的 pipe 均在 @angular/common 中暴露了以 format 為前綴的函數方法,也可以直接導入使用。
Canvas 在 retina 屏中繪制圖片或字體發虛怎么辦?https://stackoverflow.com/que...
https://www.html5rocks.com/en...
我們繪制圖片或者字體時,一般指的是邏輯像素,而 canvas 會將邏輯像素自動按照渲染設備的 devicePixelRatio 的值來渲染,因此,在 retina 這種高清顯示屏幕中,由于其 devicePixelRatio?為 2,因此 1px 的邏輯像素相當于 2px 的物理像素,渲染結果會發虛,其實是被放大了。
解決方法就是,利用 canvas 的 setTransform 或者 scale 方法來對 canvas 的進行放大,之后再利用 css 屬性 width 和 height 進行縮?。ㄟ@個過程是透明的,瀏覽器會幫我們完成),這樣,在 canvas 繪制時,我們就無需關系邏輯像素與物理像素之間的區別了。
值得一提的是,對于物理像素,可以通過 devicePixelRatio 來獲取。
Authorization Header 在 Safari 瀏覽器中神秘丟失?嘗試檢查被請求的 api url 是否存在尾部斜線(trailing slash),具體原因暫時沒有找到相關資料。
如何移除 git 提交歷史中關于某個文件的修改歷史?場景是這樣的,在一次提交 PR 的 review 過程中,我提交的一個文件,在若干 commits 的修改下,最終和最初狀態完全相同,但是 PR 中卻保留了對該文件的提交歷史,因此 reviewer 希望我可以將這個文件移除提交歷史。
這個主要需要用到 git rebase ,步驟如下:
git log filename: 首先通過 git log 來查詢要回滾到的 commit id
git reset commit-id filename: 對該文件進行 reset 操作(撤銷提交歷史相關的修改)
git checkout filename: 對其進行 checkout 操作(撤銷對文件本身的修改)
git commit --amend: 修改提交歷史信息
git rebase --continue/git push: 同步
關注公眾號 全棧101,只談技術,不談人生
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102302.html
摘要:原文前面可以說是弄了一系列的和多進程的一大坨內容,知識淺顯代碼粗暴風格簡陋,總的說來,還是差了一些細節。今天,就一些漏掉的細節補充一下。最后,我補充一句是同步的,而不是異步。 原文:https://t.ti-node.com/thread/... 前面可以說是弄了一系列的php socket和多進程的一大坨內容,知識淺顯、代碼粗暴、風格簡陋,總的說來,還是差了一些細節。今天,就一些漏...
摘要:輸出下標和對應的元素集合集合是無序的,集合中的元素是唯一的,集合一般用于元組或者列表中的元素去重。 python內置的數據類型 showImg(https://segmentfault.com/img/bVbrz1j); Python3.7內置的關鍵字 [False, None, True, and, as, assert, async, await, break, class, co...
摘要:移動端的開發基本很少直接使用作為單位了,目前最常用的是。一般移動端頁面的開發流程是設計人員以某個機型作為標準,設計好。前端開發針對這個機型的做開發,然后其它機型相對的去等比例縮放。 移動端的開發基本很少直接使用px作為單位了,目前最常用的是rem。不過在這之前其實還有個em單位,和rem長得非常的像,那么它們有什么區別呢?又有什么不一樣的適用場景呢? 注意:無論使用em,還是rem,客...
閱讀 284·2024-11-07 18:25
閱讀 130363·2024-02-01 10:43
閱讀 868·2024-01-31 14:58
閱讀 828·2024-01-31 14:54
閱讀 82766·2024-01-29 17:11
閱讀 3047·2024-01-25 14:55
閱讀 1985·2023-06-02 13:36
閱讀 3033·2023-05-23 10:26